اذهب الي المحتوي
أوفيسنا

عادل حنفي

المشرفين السابقين
  • Posts

    2,490
  • تاريخ الانضمام

  • تاريخ اخر زياره

  • Days Won

    8

مشاركات المكتوبه بواسطه عادل حنفي

  1. اخي الخازمي

    اليك شرح الكود

    مسح محتويات المدي

    Range("c13:E41").ClearContents

    عمل حلقة استمرارية علي كل شيتات الملف
    For i = 1 To Sheets.Count

    تجنيبب الشيت المفتوح من الحلقة الاسمرارية
    If Sheets(i).Name <> ActiveSheet.Name Then

    عمل متغير لنعرف منه اخرصف في العمود الثالث في شيت الورقة1
    n = Sheets("æÑÞÉ1").Range("c12").End(xlDown).Row

    عمل حلفة استمرارية اخري من الصف 13 والي اخر صف العامود السابق ذكره مع افتراض ان هذا العامود عدد الصفوف المستعملة به مـساو لنفس العاامود في بباقي الشيتتات

    وهنا يمر الكود علي صف صف  في العامود
    For r = 13 To n

    ليتحقق الشرط التالي وهو لو ان الخلية في صف من صفوف الشيتات المعمول لها حلقة استمرارية تساوت مع الخلية "d5"
    If Sheets(i).Cells(r, 4) = [d5] Then

    عند ذلك يتم ترحيل محتويات الصف من العامود 3 الي العامود 5
    With Columns(3).Rows(41).End(xlUp)
    .Offset(1, 0) = Sheets(i).Cells(r, 3)
    .Offset(1, 1) = Sheets(i).Cells(r, 4)
    .Offset(1, 2) = Sheets(i).Cells(r, 5)
    End With
    End If

    لاستمرار الحلقة الاستمرارية الثانية علكل صف في الشي حتي ينتهي منها
    Next
    End If

    لاستمرار الحلقة الاستمرارية الاولي والانتقال لشيت اخر حتي ينتهي من كل الشيتات
    Next

    ارجو ان اكون وفقت في الشرح

    تحياتي

     

    • Like 3
  2. اخي الفاضل

        هذان السطرا تم ايقافهما بالعلامة الموضوعة علي يسار كل سطر

    'PURPOSE: Different ways to find the last row number of a range
    'SOURCE: www.TheSpreadsheetGuru.com
    هذان السطران تعريف لمتغيرات يختارها المبرمج ويقوم بتعريف البرنامج عليه وعلي ماذا تشير
    
    Dim sht As Worksheet
    Dim LastRow As Long
    هذا السطر جعل المبرمج احد المتغيرات عندما يذكرها فانها تشير الي الشيت رقم 1 في هذا الملف
    
    Set sht = ThisWorkbook.Worksheets("Sheet1")
    هذا السطر تم ايقافه
    'Ctrl + Shift + End
    هنا يعرف المبرمج المتغير الثاني وهو يشير الي الصف الاخير للخلاياالغير فارغة في العمود الاول من الشيت الاول
      LastRow = sht.Cells(sht.Rows.Count, "A").End(xlUp).Row
    
    هذا السطر تم ايقافه(ويعتبر كعنوان لايؤثر في
    الكود) 
    'Using UsedRange
    هنا يتم معرفة مدي الخلايا المستخدمة
      sht.UsedRange 'Refresh UsedRange
    هنا جعل المتغير الثاني يساوي اخر صف في صفوف المدي المستخدم
      LastRow = sht.UsedRange.Rows(sht.UsedRange.Rows.Count).Row
    
    هذا السطر تم ايقافه(ويعتبر كعنوان لايؤثر في
    الكود
    'Using Table Range
    
    هنا جعل المتغير الثاني يساوي عدد صفوف الجدول المستخدم
      LastRow = sht.ListObjects("Table1").Range.Rows.Count
    
    هذا السطر تم ايقافه(ويعتبر كعنوان لايؤثر في
    الكود
    'Using Named Range
    
    هنا جعل المتغير الثاني يساوي عدد صفوف مدي مخفوظ 
      LastRow = sht.Range("MyNamedRange").Rows.Count
    
    هذا السطر تم ايقافه
    'Ctrl + Shift + Down (Range should be first cell in data set)
    
    هنا جعل المتغير الثاني يساوي عدد صفوف الخلايا المستخدمة 
      LastRow = sht.Range("A1").CurrentRegion.Rows.Count
    
    End Sub

    ارجو ان تكون هناك افادة

    تحياتي

    • Like 5
  3. السلام عليكم

    اخواني الموضوع جميل ويحتمل افكار كتير

    وكذلك يمكن الدمج بين اكثر من فكرة وانا اخترت هذا الاخير

    فقمت بادماج عمل اخي سلطان مختار

    مع ادخال التكست بوكس في هذا العمل والتغيير في خاصية PasswordChar

    وهذا يحل موضوع حفظ الباسورد في مكان اخر

    ارجو التجربة اخباري النتيجة

    تحياتي

    Passwords1.rar

    • Like 4
  4. اخي ابو عبد الرحمن

    اولا عند عمل زر الطباعة لم يمس اي كود لاي زر اخر بالمرة

    ثانيا قمت بانزال الملف من مشاركتك الاولي ولم اجد علاقة للزر الذي اشرت .اليه بشيت داتا عموما راجع الملف او نسخة اقدم من التي رفعتها عند طلبك الاول يكون زر الترحيل فيه يرحل الـي شيت داتا ونحن معك ن شاء الله

    تحياتي

  5. الحمد لله

    اتغيير المدي في الكود الخاص بزر الطباعة وكوده هو

     

    Private Sub CommandButton1_Click() '
    r = Sheets("الاكواد").Range("A3").Address
    s = Sheets("الاكواد").Range("A2").End(xlDown).Address
    For i = 4 To 14
    If Cells(i, 7) <> "" Then
    o = Cells(i, 7).Address
     g = Application.WorksheetFunction.CountIf(Sheets("الاكواد").Range(r, s), Range(o))
     If g = 1 Then
     Range("A2") = Cells(i, 7)
    ' If Range("f5") <> "" Then
    m = Range("A1").Address
    n = Range("F4").End(xlDown).Address
      ActiveSheet.PageSetup.PrintArea = m & ":" & n
      ActiveSheet.PrintOut Copies:=1
     ' End If
    End If
    End If
    Next
    End Sub
    

    قم بتغيير ال14 في السطر التالي بالزيادة او النقصان

    For i = 4 To 14

    تحياتي

    • Like 1
×
×
  • اضف...

Important Information