0
我想比较2个不同的工作表中的2个范围。比较范围并复制整行,当一些单元格匹配时?
Sheet1("Raport")
包含未贴上的客户信息和应获得的产品类型。
Sheet2("Dane")
包含有关客户的详细信息,该信息应(如1个客户=整行)被复制到特定薄片(例如Sheet3("Produkt1")
,Sheet4("Produkt2")
等的基础上,客户和产品列表(Sheet1("Raport")
)。
删除空行(作品)
Sub DeleteBlankRows1()
Dim i As Long
With Application
.Calculation = xlCalculationManual
.ScreenUpdating = False
For i = Selection.Rows.Count To 1 Step -1
If WorksheetFunction.CountA(Selection.Rows(i)) = 0 Then
Selection.Rows(i).EntireRow.Delete
End If
Next i
.Calculation = xlCalculationAutomatic
.ScreenUpdating = True
End With
End Sub
范围Produkt1的(作品)的Produkt2(作品
Sub SelectBetween()
Dim findrow As Long, findrow2 As Long
findrow = Range("B:B").Find("Produkt1", Range("B1")).Row
findrow2 = Range("B:B").Find("Laczna ilosc Produkt1", Range("B" & findrow)).Row
Range("B" & findrow + 1 & ":M" & findrow2 - 1).Select
End Sub
范围)
Sub SelectBetween2()
Dim findrow As Long, findrow2 As Long
findrow = Range("B:B").Find("Produkt2", Range("B1")).Row
findrow2 = Range("B:B").Find("Laczna ilosc Produkt2", Range("B" & findrow)).Row
Range("B" & findrow + 1 & ":M" & findrow2 - 1).Select
End Sub
如果要比较工作表并将详细的客户信息复制到另一个工作表中,我应该写什么?
Sub Compare()
Dim w1 As Worksheet, w2 As Worksheet, w3 As Worksheet
Dim findrow1 As Long, findrow2 As Long
Dim range1 As Range, range2 As Range, c As Range
Set w1 = Worksheets("Raport")
Set w2 = Worksheets("Dane")
Set w3 = Worksheets("Produkt1")
findrow1 = w1.Range("B:B").Find("Produkt2", w1.Range("B1")).Row
findrow2 = w1.Range("B:B").Find("Laczna ilosc Produkt2", w1.Range("B" & findrow1)).Row
Set range1 = w1.Range("B" & findrow1 + 1 & ":M" & findrow2 - 1)
Set range2 = w2.Range("2:137")
If range1 = w2.range2 Then
range2.EntireRow.Copy w3.Cells(Rows.Count, 1).End(xlUp)(2)
End If
End Sub
在附件有一个与最终结果(详细的客户信息被简单地Produkt1和Produkt2表复制,而不使用宏)的文件。 - >https://uploadfiles.io/ttmck