我有一份销售佣金报告,为此我建立了一个小宏。宏工作正常。它从一张纸复制所需的信息,并张贴到“摘要”纸。
我的代码如下:
Sub Test()
Dim r As Long
r = WorksheetFunction.Max(Sheets("Summary").Range("D" &
Rows.Count).End(xlUp).Row + 1, 3)
Sheets("Comm Payable").Range("C31:P31").Copy
Sheets("Summary").Range("D" & r).PasteSpecial Paste:=xlPasteValues
Sheets("Comm Payable").Range("C3:D3").Copy
Sheets("Summary").Range("B" & r).PasteSpecial Paste:=xlPasteValues
Sheets("Comm Payable").Range("N1").Copy
Sheets("Summary").Range("C" & r).PasteSpecial Paste:=xlPasteValues
Sheets("Comm Payable").Range("O1").ClearContents
End Sub
我需要帮助处理范围“ C32:P32”的代码部分:
Sheets("Comm Payable").Range("C31:P31").Copy
Sheets("Summary").Range("D" & r).PasteSpecial Paste:=xlPasteValues
我有12行“ A20:A31”。 A20是1月19日,A21是2月19日,依此类推。
此刻宏仅复制C31:P31,但是我需要做的是从C复制到P,但要基于N1中的日期。如果N1是“ April 2019”,则它必须在“ A”中找到“ Apr-19”的行并复制该C:P。
答案 0 :(得分:-1)
尝试将其添加到您的代码中。它循环遍历A列中的N1中的日期,并在找到该行时复制该行。
Dim aDate As Date
Dim rng As Range
Set rng = Sheets("Comm Payable").Range("A20:A31")
aDate = Sheets("Comm Payable").Range("N1")
For Each cell In rng.Cells
If cell.Value = aDate Then
rownum = cell.Row
Sheets("Comm Payable").Range("C" & rownum & ":P" & rownum).Copy
Sheets("Summary").Range("D" & r).PasteSpecial Paste:=xlPasteValues
End If
Next cell