[英]Excel VBA_Copy the first 2 or 3 columns and insert at every 3 or 4 column intervals
我一直在努力使用来自各种项目的代码片段,但似乎没有一个对我有用。 我想复制前 2 到 3 列,然后每隔 3 到 4 列将它们插入到右侧。 看起来很简单,但我不知道我在做什么!
任何帮助将不胜感激,因为我有大量数据要做。 谢谢你。
这是我到目前为止:
Sub Copy_Insert()
Range("A1:C1").EntireColumn.Select
Range("A:C").Copy
Range("A:C").Insert Shift:=xlRight
End Sub
首先:不要在 VBA 中使用Select
。 它很少需要并且需要时间。
如果我理解正确,您想将 A:C 列的内容复制到 D:F、G:I、J:L 吗?
你可以使用:
Application.ScreenUpdating = False
extraPairs = 3
For i = 1 To extraPairs
lastColumn = i * 3
Columns(1).Copy Columns(lastColumn + 1)
Columns(2).Copy Columns(lastColumn + 2)
Columns(3).Copy Columns(lastColumn + 3)
Next
Application.ScreenUpdating = True
这个选项不漂亮,需要一段时间,但这是我最终使用的,它运行良好:
子自动插入()
Dim i As Integer
Dim j As Integer
With Worksheets("Sheet1")
For i = 1 To .UsedRange.Columns.Count - 4
For j = 1 To 3
.Columns(i * 4 + j).Insert
.Columns(i * 4 + j).Value2 = .Columns(j).Value2
Next j
Next i
End With
结束子
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.