0
我试图获得一个VBA编码,它将搜索格式化为日期的单元格以及所有日期格式,再次搜索它上面的特定文本并将其复制到其中的行日期单元格是。Excel VBA - 复制并粘贴
为了说明,下面是我试图解决的数据示例。对于格式为日期的列C中的任何单元格,我希望代码找到客户编号(单元格C2)和客户名称(D2),并将其复制到适用行的列A和B上。问题出现了,因为我的数据中的许多客户拥有多个凭证,因此我无法将其严格编码为只有具有日期的单元格上方的两行。我希望我有道理!
Customer account Name
1001010 Internal : Sales Admin (9900)
Date Voucher
12/7/2011 CINV00000980
1/26/2012 CINV00001011
2/9/2012 CINV00001050
3/6/2012 CINV00002003
3/13/2012 CINV00002067
我试图使用嵌套DO循环现在(见下文),显然它不工作。代码正在运行,但没有复制/粘贴正在发生。
Sub ARAging()
Dim row As Integer
row = 2
finalrow = ActiveSheet.UsedRange.Rows.Count
Do
If Range(Cells(row, 3), Cells(row, 3)).NumberFormat = "dd/mm/yyyy" Then
Do
If Range(Cells(row, 3), Cells(row, 3)).Value = "Customer account" Then
Range(Cells(row - 1, 3), Cells(row - 1, 4)).Select
With Selection.Copy
End With
End If
row = row - 1
Loop Until Range(Cells(row, 3), Cells(row, 3)).Value = "Customer account"
Range(Cells(row, 1), Cells(row, 2)).Select
With Selection.Paste
End With
End If
row = row + 1
Loop Until row = finalrow
End Sub
任何帮助,将不胜感激!
哇,我的示例数据没有复制好。列A和B是空白的。 C列有文本“客户账户”,客户账号,“日期”,然后是五个日期(C1:C8)。我希望对于五个日期中的每一个日期,代码都会搜索上面的文本“客户账户”,并为五个日期中的每一个返回适用的客户账户号码。希望这个澄清有助于。 – user1686737
也许添加一个屏幕截图? – JMK
只需注意:您的示例数据中的日期是m/d/y格式,但是您的代码会测试d/m/y格式。在我的答案中,我不测试格式,但不是因为这个原因。 –