我在为我的macro
.
意图:
我有一个数据列表sheets(input).column A
(具有值的行数会有所不同,因此我创建了一个循环,它将运行宏直到 activecell 为空白)。
我的宏从Range(A2)
A 列开始并一直向下延伸,只有在遇到空白行时才会停止
宏的期望结果将是开始复制单元格值sheet(input).Range(A2)
并将其粘贴到sheet(mywork).Range(B2:B6)
.
例如,如果“Peter”是单元格中的值,sheet(input),range(A2)
那么当 marco 运行并将值粘贴到sheet(mywork) range(B2:B6)
. 即范围B2:B6
将反映“彼得”
然后宏循环回工作表(输入)并复制下一个单元格值并将其粘贴到range(B7:B10)
示例:“Dave”是 中的值sheet(input) Range(A3)
,然后“Dave”将粘贴到 中的下 4 行sheet(mywork).Range(B7:B10)
。B7:B10
将反映“戴夫”
再次重复相同的过程,这次返回 sheet(input) range(A4)
,将值复制到 sheet(mywork) 并将其粘贴到B11:B15
.
基本上这个过程会重复......
sheet(input) column A
当活动单元格为空时,宏结束。
Sub playmacro()
Dim xxx As Long, yyy As Long
ThisWorkbook.Sheets("Input").Range("A2").Activate
Do While ActiveCell.Value <> ""
DoEvents
ActiveCell.Copy
For xxx = 2 To 350 Step 4
yyy = xxx + 3
Worksheets("mywork").Activate
With ActiveSheet
.Range(Cells(xxx, 2), Cells(yyy, 2)).PasteSpecial xlPasteValues
End With
Next xxx
ThisWorkbook.Sheets("Input").Select
ActiveCell.Offset(1, 0).Activate
Loop
Application.ScreenUpdating = True
End Sub