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

تحويل الصفوف الى اعمدة واهمال الفراغات والبحث برقم فى عمود


إذهب إلى أفضل إجابة Solved by lionheart,

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

  • أفضل إجابة
Sub Test()
    Dim a, w, ws As Worksheet, f As Boolean, i As Long, ii As Long, k As Long, m As Long
    Application.ScreenUpdating = False
        Set ws = ActiveSheet
        ws.Range("B20").CurrentRegion.Offset(2).ClearContents
        w = ws.Range("D20").Value
        If w = Empty Then MsgBox "Enter ID First", vbExclamation: Exit Sub
        a = ws.Range("A3:P" & ws.Cells(Rows.Count, 1).End(xlUp).Row).Value
        ReDim b(1 To UBound(a, 1) * 4, 1 To 5)
        For i = LBound(a) To UBound(a)
            If a(i, 4) = w Then
                k = k + 1
                b(k, 1) = a(i, 1)
                b(k, 2) = a(i, 2)
                m = 0
                For ii = 5 To 14 Step 3
                    If a(i, ii) <> Empty Then
                        f = True
                        b(k + m, 3) = a(i, ii)
                        b(k + m, 4) = a(i, ii + 1)
                        b(k + m, 5) = a(i, ii + 2)
                        m = m + 1
                    End If
                Next ii
                If m > 0 Then k = k + m - 1
                If f = False Then b(k, 1) = Empty: b(k, 2) = Empty: f = False: k = k - 1
            End If
        Next i
        If k > 0 Then ws.Range("B22").Resize(k, UBound(b, 2)).Value = b
    Application.ScreenUpdating = True
End Sub

 

  • Like 2
  • Thanks 1
رابط هذا التعليق
شارك

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



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

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

Important Information