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

الردود الموصى بها

قام بنشر

احتاج الى كود يقوم بنقل الصفوف على حسب الاسم المكتوب في الخلية A2 فاذا كان الاسم مثلا رخام ان يقوم بالنقل اذا كان مكتوب كلمة رخام 
فمثلا اذا كان مكتوب توريد وتركيب رخام ان يقوم بنقل الصف

تلوين.xlsm

  • تمت الإجابة
قام بنشر

بعد اذن الاستاذ وجيه

لا استطيع الا أن أعطي ملاحظات

 لماذا لا نستغني عن الحلقة التكرارية  (J) الثانية  ؟؟  لأن الحلقات التكرارية ترهق البرنامج اذا كانت البيانات كبيرة
  و ذلك  باعتماد هذا الكود

Sub aa()
Dim ws As Worksheet: Set ws = Sheets("Sheet1")
Dim sh As Worksheet: Set sh = Sheets("Sheet2")
sh.Range("a7:e55") = ""
k = 7
lr = ws.Range("a" & Rows.Count).End(xlUp).Row
For i = 7 To lr
  If ws.Range("b2") = ws.Range("c" & i) Then
     sh.Cells(k, 1).Resize(, 5).Value = _
     ws.Range("A" & i).Resize(, 5).Value
    k = k + 1
  End If
Next
sh.Activate
End Sub

 

  • Like 2
قام بنشر

اعتقد  انه  بالفلترة  افضل  من الحلقات  التكرارية  

 

Sub cutpaste_Rows()
    Application.ScreenUpdating = False
    Dim LastRow As Long, srcWS As Worksheet, desWS As Worksheet
    LastRow = Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
    Set srcWS = Sheets("sheet1")
    Set desWS = Sheets("sheet2")
    With srcWS
        .Cells(6, 1).CurrentRegion.AutoFilter 3, Range("a2").Value
        .AutoFilter.Range.Offset(1).Copy desWS.Cells(desWS.Rows.Count, "A").End(xlUp).Offset(1)
        .AutoFilter.Range.Offset(1).EntireRow.Delete
        .Range("A1").AutoFilter
    End With
    Application.ScreenUpdating = True
End Sub

 

تلوين (1).xlsm

  • Like 3

انشئ حساب جديد او قم بتسجيل دخولك لتتمكن من اضافه تعليق جديد

يجب ان تكون عضوا لدينا لتتمكن من التعليق

انشئ حساب جديد

سجل حسابك الجديد لدينا في الموقع بمنتهي السهوله .

سجل حساب جديد

تسجيل دخول

هل تمتلك حساب بالفعل ؟ سجل دخولك من هنا.

سجل دخولك الان
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information