我正在尝试使用Excel VBA进行循环,我有一个数据范围在a1:a1000,我想循环遍历它们并逐个复制到C1的单个单元格,但是下面的代码不起作用,任何想法是什么出错了?
Dim I As Integer
For I = 1 To lastrow - 1
Sheets("display").Range("w1").Value = Sheets("data").Range("c1").Offset(I, 0).Value
msgbox Sheets("data").Range("c1").Value
Next I
答案 0 :(得分:0)
您在单元格“W1”而不是“C1”中设置值。
作者澄清问题后更新:
以下是两种循环细胞并复制/粘贴的方法。两者都不“更好”。我想强调的是,有可能比这些更有效的方法来完成你的任务,但希望这个答案可以帮助你解决问题。
Sub LoopExampleUsingRange()
Dim aCell As Range
For Each aCell In Range("A1:A1000").Cells
aCell.Copy Range("C1")
Next aCell
End Sub
Sub LoopExampleUsingIntegerReference()
Dim i As Integer
For i = 1 To 1000
Range("A" & i).Copy Range("C1")
'I prefer to use offset, but they both work:
'Range("A1").Offset(i - 1, 0).Copy Range("C1")
Next i
End Sub