我在尝试扩展我编写的代码时遇到了问题。我下面粘贴的代码目前正在按预期工作。我遇到的问题是我正试图制作" P2"细胞变量。基本上,我试图将循环中的(" K"& i)单元格与我工作表上P2到AA2范围内的所有日期进行比较。然后,如果月份和年份匹配,请将数据粘贴到匹配的相应列中。我已经尝试用另一个整数替换列引用P,但无法使嵌套循环正常运行。是否有不同的方法将列建立为变量?谢谢你的帮助。
Sub Test()
Dim i As Integer
Sheets("Sheet1").Select
For i = 3 To 6
If Month(Range("K" & i)) = Month(Range("P2")) And Year(Range("K" & i)) = Year(Range("P2")) And Range("J" & i).Value > "0" Then
Range("J" & i).Copy
Range("P" & i).PasteSpecial xlPasteValues
End If
Next i
End Sub
答案 0 :(得分:1)
只需循环遍历现有循环中的第16列到第27列:
Sub Test()
Dim i As Integer
Sheets("Sheet1").Select
For i = 3 To 6
'loop columns p through aa
For k = 16 to 27
'Instead of Range() we are using Cell() to refer to the column variabl-y... Cells(<rownum>,<columnnum>)
If Month(Range("K" & i)) = Month(Cells(2,k)) And Year(Range("K" & i)) = Year(Cells(2,k)) And Range("J" & i).Value > "0" Then
Range("J" & i).Copy
Cells(i,k).PasteSpecial xlPasteValues
End If
Next k
Next i
End Sub