السلام عليكم
هذا شرح مختصر ارجو ان يفي بالغرض
' اهم سطر في الكود هو هذا السطر
'--------------------------------------------------------------------------------------
'If Not Range("D6") = "" Then Cells(6, i + 9) = Mid(StrReverse(Range("D6")), i, 1)
'--------------------------------------------------------------------------------------
' حيث
'Mid الدالة
' تقوم باختيار رقم او حرف من سلسلة نصية تحدد انت البداية و الطول
'--------------------------------------------------------------------------------------
'StrReverse الدالة
' تقوم بكتابة الكلمة او الجملة عكسيا
لو فرضنا ان الخلية المعنية هي B2
و الماكرو الذي تريد تشغيله اسمه هو Abouhanin
يكون الكود كالتالي :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = Range("B2").Address Then Call Abouhanin
End Sub
نيابة عن اخي رجب
لو فرضنا ان الخلية C3 تحتوي على الحروف : ABCDEF
عندما نكتب الدالة التالية
=RIGHT(C3;2)
فالناتج هو : EF
و هناك دالة اخى :
=LEFT(C3;2)
الناتج هو : AB
و المعنى ان الدالة RIGHT تعطي عدد الحروف التي نريد اختيارها ابتداءا من اليمين و نحن اخترنا 2 لذلك تحصلنا على او حرفين من اليمين EF
و الدالة LEFT تعمل عكس الاولى اي اخترنا اول حرفين من اليسار فكان الناتج هو AB
اما عند كتابة الدالة
=LEN(C3)
فالناتج يكون 6 و تعني مجموع عدد الحروف ( حروف ، ارقام ، مسافات ، علامات ، . . . )
اما في ما يخص السؤال او السطر
Left(ThisWorkbook.Name, Len(ThisWorkbook.Name) - 4)
الجملة : ThisWorkbook.Name تعطي الاسم الكامل للملف زائد نقطة زائد ملحق الملف و هو xls
الملحق زائد النقطة = 4 اي لو قمنا بحساب ( .xls ) سنجد ثلاث حروف و نقطة بمجموع 4
لذلك استعمل اخي رجب -4 ليظهر الاسم دون نقطة و دون ملحق
السلام عليكم
جرب هذا الكود
Sub MyNmbr()
Dim i As Byte, MyRng As Range, Lr As Long, j As Long
Lr = Cells(Rows.Count, "A").End(xlUp).Row
For j = 2 To Lr
Set MyRng = Cells(j, 2)
For i = 1 To Len(MyRng)
If IsNumeric(Mid(MyRng, i, 1)) = True Then
rr = Application.WorksheetFunction.Max(Mid(MyRng, i, 1))
End If
Next
Next
MsgBox rr
End Sub
اخي حمادة
جزاكم الله خيرا
هذه هي الدوال المستعملة
اجمالي رواتب الموظفات =SUM(D1:D6)
عدد الموظفات المتزوجات =COUNTIF(C2:C6;"متزوجة")
متوسط الروتب =AVERAGE(D2:D6)
تصنيف بحيث =IF(D2>4000;"A";"B")
اخي هناك خطأ بيسط
ارجو ان تقوم انت بتصحيحه
عندما تقوم بالحذف تظهر لك شاشة الفجول بيزك عند هذا الكود
Private Sub TextBox13_Change()
TextBox8 = Val(TextBox13.Value) + Val(TextBox15.Value)
End Sub
End Sub
كل ما عليك هو حذف تلك الكلمة المكررة و هي End Sub فقط ليصبح الكود كالتالي
Private Sub TextBox13_Change()
TextBox8 = Val(TextBox13.Value) + Val(TextBox15.Value)
End Sub