我是VBA的新手。这个想法是循环应该在A列的过程中将每个单元格调出一次到单元格“B1”。
它现在做了什么,它将数据复制到右侧的列中,但我希望它能够达到顶部。
代码现在这样做。
它将A1的内容移动到B1,A2移动到B2,A3移动到B3等。想法是获得以下内容:A1到B1,A2到B1,A3到B1,A4到B1等。
Sub StartLoop()
Application.Goto Reference:="StartLoop"
Do Until AciveCell = ""
ActiveCell.Offset(1, 0).Range("A1").Select 'range "A2:A2000" contains the data to test
Loop
End Sub
Sub copyLoop() 'copy from columnn A and past to a fix destination
Application.Goto Reference:="StartLoop"
Do Until ActiveCell = ""
Selection.Copy
ActiveCell.Offset(0, 1).Range("A1").Select
ActiveSheet.Paste
ActiveCell.Offset(1, -1).Range("A1").Select
Loop
Application.CutCopyMode = xlCopy
End Sub>
答案 0 :(得分:0)
从我所看到的,你只是试图遍历一列值并依次将每个值粘贴到同一个单元格中。以下代码将是实现此目的的一种方法。
Sub LoopTheStuff()
Dim columnA As Range
Dim target As Range
Set columnA = Range("A1:A" & ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row) 'selects range of A1 to the last cell with value
Set target = Range("B1")
For Each c In columnA
target = c 'B1 = Ax
Next c
End Sub