【发布时间】:2018-07-30 12:02:11
【问题描述】:
我有一个数据集,我需要将某些单元格剪切并粘贴到它下面的后续行中。理想情况下,该代码将剪切并粘贴到其下方的所有行,然后在到达空白行时停止。在空白行之后,它将开始剪切下一行数据并将其粘贴到其后续行并重复。我的数据如下所示。
Column A Column B Column C Column D
123456789 QASD School
AWQTY192830 GHST School Car
AWQTY192830 GHST School Car
AWQTY192830 GHST School Car
AWQTY192830 GHST School Car
987654321 TWER Work
PWLRY437281 DFSW Work Bus
PWLRY437281 DFSW Work Bus
827361920 LOWP Work
QLAPT829183 POWE Work Bike
例如,我需要将单元格 A3(这是一个 9 位数字)剪切并粘贴到单元格 E4:E7 中,将单元格 B3 剪切并粘贴到单元格 F4:F7 中。完成剪切/粘贴后,它会在下面的空白行停止,然后从下一行开始重复数据。
到目前为止我写的:
Sub cut_paste()
Dim nr As Integer
For nr = 1 To 195
If Len(Range("A" & nr)) = 9 Then
Range("A" & nr).Select
Selection.Cut
Range("N" & nr).Select
ActiveSheet.Paste
Range("B" & nr).Select
Selection.Cut
Range("O" & nr).Select
ActiveSheet.Paste
Next nr
End Sub
非常感谢任何帮助。谢谢。
【问题讨论】:
-
尝试将How to avoid using Select in Excel VBA 应用于您的代码。
-
这只是一个剪切/粘贴代码行。我需要一些可以循环遍历工作表并将特定单元格剪切/粘贴到其他单元格、跳过空白并在下一个填充数据的单元格处继续的东西。
-
您能在
Next nr行之前添加Application.CutCopy = False吗?