excel vba循环通过范围并复制到单个单元格

时间:2017-07-23 23:02:34

标签: excel vba

我正在尝试使用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

1 个答案:

答案 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