我在实现 macro
的预期结果方面遇到了一些困难 .
Intention :
我在 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
将反映"Peter"
然后宏循环回到工作表(输入)并复制下一个单元格值并将其粘贴到 range(B7:B10)
Example :"Dave"是 sheet(input) Range(A3)
中的值,然后"Dave"将粘贴到 sheet(mywork).Range(B7:B10)
中的后4行中 . B7:B10
将反映"Dave"
再次重复相同的过程回到工作表(输入)这次 range(A4)
,复制值转到工作表(mywork)并将其粘贴到 B11:B15
.
基本上这个过程重复....
当 sheet(input) column A
中的activecell为空时,宏结束 .
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
1 回答
另外
这是一个CopynPaste - 方法
并且可能有一些方法在Excel中执行此操作 .