اعلن هنا
أكاديمية الصقر للتدريب
أعلن هنا
أعلن هنا
صفحتنا على الفيس بوك
أعلن هنا


أهلا وسهلا بك زائرنا الكريم في أكاديمية الصقر للتدريب، لكي تتمكن من المشاركة ومشاهدة جميع أقسام المنتدى وكافة الميزات ، يجب عليك إنشاء حساب جديد بالتسجيل بالضغط هنا أو تسجيل الدخول اضغط هنا إذا كنت عضواً .


الرئيسية
نتائج البحث


نتائج البحث عن ردود العضو :salim
عدد النتائج (57) نتيجة
23-09-2018 12:28 مساء
icon ترحيل صفوف معينة بشرط | الكاتب :salim |المنتدى: اكسيل اسئله واجابات
 
المشاركة الأصلية كتبت بواسطة: ali mohamed ali »
كود فعلا ممتاز استاذى الكريم سليم ولكن صاحب السؤال كان طلبه الترحيل من ماف لأخر وليس من صفحة لأخرى فى نفس الملف كما كان يحتاج الى مسح النطاق المرحل
جزاك الله كل خير
اصبحت عملية نقل البيانات من  الصفحة "salim" الى اي مصنف حاجة  بسيطة جداً
او يمكن بواسطة الكود نفسه نقل البيانات الى اي مكان تريد
المهم عملية تنفيذ الكود (دون الحلقات التكرارية الطويلة جداً)
23-09-2018 06:47 صباحا
icon ترحيل صفوف معينة بشرط | الكاتب :salim |المنتدى: اكسيل اسئله واجابات
 الاساتذة الكرام
عندما تكون البيانات بهذا الحجدم الكبير (حوالي 5000 صف قان الحلقات التكرارية تستهلك الكثير من الجهد و الارهاق للبرنامج)
هنا انا افضل  التصفية المتقدمة (Advanced Fllter)
تم تغيير اسم الصفحات الى الاجنبية لحسن عمل الكود
كذلك تم ادراج عامود مساعد قي الورقة الرئيسية "O"  (لان الكود رفض التعامل مع العامود M بسبب اللغة)
ما عليك الا الضغط على زر Run  في الورقة الرئيسية
الكود

Option Explicit
Sub filter_for_ME()
    With Application
     .ScreenUpdating = False
     .Calculation = xlCalculationManual
    End With
Dim S_sh As Worksheet: Set S_sh = Sheets("Source")
Dim T_sh As Worksheet: Set T_sh = Sheets("Salim")
Dim My_Table As Range: Set My_Table = S_sh.Range("A4").CurrentRegion

T_sh.Range("a4").CurrentRegion.ClearContents
T_sh.Range("x2").Formula = "=Source!O5=""Fini"""

My_Table.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=T_sh.Range("X1:X2"), _
CopyToRange:=T_sh.Range("A4")
T_sh.Range("X2").ClearContents
    With Application
     .ScreenUpdating = True
     .Calculation = xlCalculationAutomatic
    End With
End Sub


الملف مرفق
23-09-2018 06:33 صباحا
icon vlookup وحذف الصفوف الت بها ارقام مكرره | الكاتب :salim |المنتدى: اكسيل اسئله واجابات
 بغد اذن الاساتذة الافاضل
اسمحوا لي يهذا الملف الذي يقوم بنفس العمل و بدون ماكرو
تم التعديل على المعادلات في الأعمدة  من C الىF (معادلة واحدة تكتب في C2  و تسحب يساراً  4 أعمدة و نزولاً قدر ما تشاء)
 المعادلة

=IF($B2="","",(VLOOKUP($B2,sama,COLUMNS($C$1:C1)+1,0)))

الملف مرفق

 
21-09-2018 03:42 مساء
icon اضافة على كود سلاسل رقمية | الكاتب :salim |المنتدى: اكسيل اسئله واجابات
 
ربما ينفع هذا الكود

Sub my_serie_salim()
If ActiveSheet.Name <> "ورقة1" Then GoTo End_Me
 With Application
 .ScreenUpdating = False
 .Calculation = xlCalculationManual
 End With
Dim k%: k = 13
Dim x%: x = 3
Dim cel As Range

 With Range("A12:C500")
    .UnMerge
    .ClearContents
    .Interior.ColorIndex = 0
End With
For Each cel In Range("b3", Range("b2").End(4))
 With Cells(k, 1)
      With .Offset(-1)
        .Value = Cells(x, 1).Value
        .Resize(1, 3).Merge
        .HorizontalAlignment = xlCenter
        .VerticalAlignment = xlCenter
        .Interior.ColorIndex = 6
       End With
    .Value = 1
    .DataSeries Rowcol:=xlColumns, Stop:=cel.Value
 End With
 '=============================
 x = x + 1
 k = Cells(Rows.Count, 1).End(3).Row + 2

 '===========================
 Next
End_Me:
 With Application
 .ScreenUpdating = True
 .Calculation = xlCalculationAutomatic
 End With
End Sub

الملف مرفق
20-09-2018 12:43 مساء
icon ادخال دالة التقريب على كل المعادلات التي تحتوي على القسمة | الكاتب :salim |المنتدى: اكسيل اسئله واجابات
 
لا أعلم اذا كان هذا المطلوب بالضبط
اذا لا 
اكتب ما يجب ان تكون النتيجة تحت الصف الاخضر من هذا الملف
20-09-2018 07:06 صباحا
icon امل المساعدة بحل هذا الشرط وهو اضافة كلمه خرج مع الكود بالخلية | الكاتب :salim |المنتدى: اكسيل اسئله واجابات
 
جرب هذا الملف
صفحة "Salim"                               قم بتحرير البيانات في العامود K  ثم اضغط على الزر Run
يمكن اضافة الكود الى Woksheet_Change
الكود

Option Explicit
Dim txt$
Sub Only_Num(Mot)
Dim i%, y, B
txt = ""
 For i = 1 To Len(Mot)
     On Error Resume Next
   B = Mid(Mot, i, 1)
   y = Evaluate("N(" & B & ")")
    If IsNumeric(y) Then
      txt = txt & y
    End If
 Next
     On Error GoTo 0
End Sub
'=============================================

Sub Crezy_macro()
Dim final_row%
Dim k%
With Sheets("Salim")
    final_row = .Cells(Rows.Count, "B").End(3).Row
    If final_row < 4 Then final_row = 4
        For k = 4 To final_row
          Only_Num (.Cells(k, 2))
          Cells(k, 2) = txt & " " & .Cells(k, "K")
        Next
End With
End Sub

الملف مرفق (بدون التنسيق الشرطي الذي يبهر النّظر) يمكنك اضافته فيما بعد
 
19-09-2018 06:37 صباحا
icon الفلترة بأكثر من شرط فى ليست بوكس | الكاتب :salim |المنتدى: اكسيل شروحات ودروس
 
ربما يمكن تطويع الكود الموجود على هذا العنوان
لمشاهدة الروابط يلزمك التسجيل في أكاديمية الصقر للتدريب

المشاركة رقم 7
واضع الكود :    لمشاهدة الروابط يلزمك التسجيل في أكاديمية الصقر للتدريب


 
19-09-2018 04:50 صباحا
icon الفلترة بأكثر من شرط فى ليست بوكس | الكاتب :salim |المنتدى: اكسيل شروحات ودروس
 
 في هذه الحالة ما قيمة   التكست بوكس

انا اقترح كومبو بوكس مكان كل تكست بوكس من اجل شيئين
اولاً: توفير الوقت بالكتاية داخل كل ليست بوكس
ثانياً : تفادي الاخطاء المطبعية اثناء الكتابة (خاصة بالنسبة للغة العربية  ا  إ   أ   ة   ه    ي    ى   الخ..... )

 واخيرا :هل  سيتم تنفيذ الماكرو اذا كان احد التكست بوكس (او اكثر) فارغاً؟؟؟
18-09-2018 06:58 مساء
icon الفلترة بأكثر من شرط فى ليست بوكس | الكاتب :salim |المنتدى: اكسيل شروحات ودروس
 
الواجب المنزلي
مع اني لا أحب اليوزر ولا التعامل معه
لكن من أجل المشاركة فقط و ايضاح الحلول و من  اجل حفيدي (ياسر اطال الله بعمره)  30  81
تم كتابة الكود للتكست بوكس الاول   (اما الباقيين  نفس الكود مع تغيير اسم اللتكس بوكس)
ملاحظة : وجود اليوزر ظاهراً على الشاشة لا يؤثر على العمل في الشيت  (كباقي اليوزرات) اي يمكنك التحرير بالخلايا
        النسخ اللصق والقص الى ما هنالك
الكود

Option Explicit
Private Sub TextBox1_Change()
Dim lr%, k As Byte, m As Byte
Dim i As Long
Dim arrList As Variant
If Me.TextBox1 = "" Then Me.ListBox1.Clear: Exit Sub
Me.ListBox1.Clear
With Sheets("Sheet1")
lr = Cells(Rows.Count, 1).End(xlUp).Row
 If lr = 1 Then Exit Sub

 For i = 2 To lr
 '=======================================
 ' تشغيل هذا السطر اذا اردنا البحث بأول حرف (حروف) من الاسم
   If Mid(.Cells(i, 1), 1, Len(Me.TextBox1)) = Me.TextBox1.Value Then
'=======================================
 ' تشغيل هذا السطر اذا اردنا البحث بأي حرف (حروف) من الاسم
 'و وضع فاصلة امام السطر السابق
'     If InStr(.Cells(i, 1), Me.TextBox1.Value) Then
'=======================================
        ListBox1.AddItem .Cells(i, 1).Value
          For k = 1 To 4
        ListBox1.List(m, k) = .Cells(i, 2).Offset(0, k - 1).Value
          Next k
        m = m + 1
     End If
  Next i

End With
End Sub


الملف مرفق
 
17-09-2018 07:21 مساء
icon نشغيل اللغة اونوماتيكياً قي اكسل | الكاتب :salim |المنتدى: اكسيل شروحات ودروس
 
المشاركة الأصلية كتبت بواسطة: YasserKhalil »
بعد تجربة الكود لاحظت أن يثقل التعامل مع الملف .. هل هناك طريقة لجعل الكود أكثر مرونة؟ لم أحاول بعد لكن إذا توافر لي الوقت سأحاول العمل عليه إن شاء العلي القدير


انا لاحظت هذا الامر ايضاً ولا أعلم ما الحل (لأول مرة اتعامل مع ملفات "Alias" , ولا اعرف حتى ماذا يعني هذا الشيء)
قلت ان الملف مقتبس
ربما يكون الحل في ربط الماكرو بخلية معينة تكتب فيها  "عربي" أو "اجنتي"
​if range("a1"wink_3= "عربي" then
blah,blah,blah,...
else
No blah,No blah,No blah,....
end if
17-09-2018 07:06 مساء
icon حذف الصفوف المكرره | الكاتب :salim |المنتدى: اكسيل اسئله واجابات
 
جرب هذا الكود
ملاحظة مهمة :   قبل تنفيذه يرجي نقل البيانات الى صفحة اخرى آمنة  (Copy _Paste)
                          (  او عمل نسخة ثانية  احتياطية عن الملف)

 لعل هناك اخطاء في الكود (لانه كما هو معروف بعد تنفيذ اي كود بواسطة الــ VBA لايمكن التراجع بواسطة Undo )
الكود

Option Explicit

Sub remove_dup()
Application.ScreenUpdating = False
Dim i%, k%, x

Dim Es_sh As Worksheet: Set Es_sh = Sheets("data")
Dim My_Tab As Range
Dim temp As Range
Dim New_lr
Dim lr%: lr = Es_sh.Cells(Rows.Count, "B").End(3).Row
 Set My_Tab = Es_sh.Range("B1:B" & lr)
For i = 1 To lr

  x = Application.CountIf(My_Tab, Range("B" & i))
    If x > 1 Then
       If temp Is Nothing Then
           Set temp = Range("B" & i)
           Else
           Set temp = Union(temp, Range("B" & i))
       End If
    End If
 Next
 
 If Not temp Is Nothing Then
  temp.EntireRow.Delete
 End If
 
 New_lr = Es_sh.Cells(Rows.Count, "B").End(3).Row
 With Es_sh.Range("a2:a" & New_lr)
         .Formula = "=IF(B2="""","""",MAX($A$1:A1)+1)"
         .Value = .Value
        End With
    Application.ScreenUpdating = True
 End Sub

17-09-2018 05:59 مساء
icon حذف الصفوف المكرره | الكاتب :salim |المنتدى: اكسيل اسئله واجابات
 
المشاركة الأصلية كتبت بواسطة: نصر الإيمان »
جزاك الله خيرا أخ سليم
لكن انا عاوز المكرر يتم حذفه مع الاصل ايضا
بمعنى: لو عندك 5 طلاب " احمد - احمد - محمد -علي - مصطفى "
يتم حذف : التكرار نهائيا وهو " احمد"
فيتبقى فقط 3 طلاب : محمد - علي - مصطفى"
هذا هو المقصد...ماتم عمله من اكواد من الزملاء الأفاضل .. يقوم بحذف المكرر دون اصله
انا عاوز احذف المكررمن جذوره.. 
​في هذه الحالة سوف اضع لك الكود المناسب

الصفحة 1 من 5 < 1 2 3 4 5 > الأخيرة »





الساعة الآن 09:32 مساء

أعلن هنا
أعلن هنا
أعلن هنا