应该非常容易,但我找不到只选择一个整列的方法
我需要执行循环并每n列粘贴一个复制的列。 问题是我写的时候
Dim a As Integer
Dim b As Integer
b = 1
'a = InputBox("Insert number", "Insert number")
a = 6
While Application.CountA(Columns(b)) > 0
b = b + a
Columns(b).Select
b = b + 1
Wend
不仅选择了列(b),还选择了几列。数量各不相同,但从1到10左右。我不知道这里有什么问题!我尝试过很多同样结果的小东西。
答案 0 :(得分:1)
根据我收集的内容,您希望选择每个第6列并在每个列中插入预先确定的列值。
Sub selectCols()
'b=1 is your starting column, 20 is the last column, step 6 makes it go up in 6's, if needs be, you can set this to a
For b = 1 To 20 Step 6
'I like to do this to ensure 100% there is no carry-over of selected cells from the previous run
Range("A1").Select
Columns(b).EntireColumn.Select
'do your pasting here
Next b
End Sub
答案 1 :(得分:0)
从记忆中,如果你改变:
Columns(b).Select
为:
Columns(b).EntireColumn.Select
然后它可能会起作用。
答案 2 :(得分:0)
您可以尝试:
Dim a As Integer
Dim b As Integer
b = 1 : a = 6
While Application.CountA(Columns(b)) > 0
b = b + a
Columns(b).Copy(Sheets("MySecondSheet").Columns(b).Cells(1,1))
b = b + 1
Debug.Print "a = " & a & "; b = " & b ' just for debug your values
Wend
修改强>
我的代码复制整个列并将其粘贴到“MySecondSheet”中。如果要复制标题,可能需要复制行,而不是列。
你能提供截图吗?