我正在尝试获得一个 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
任何帮助,将不胜感激!