我正在寻找以下示例的解决方案。我有一个客户向我发送了一个包含321列随机长度的电子表格。在第2行,它们有一个商店编号。对于每列,存在不同的商店编号。我需要在每列之间插入一个空白列,然后将新列中的商店编号复制为相同长度的单元格数。
我使用以下内容添加列:
Sub InsertColumns()
Dim J As Integer, k As Integer
J = Range("A1").End(xlToRight).Column
'j is the last column
For k = J To 2 Step -1
Range(Cells(1, k), Cells(1, k)).EntireColumn.Insert
Next k
我只需要根据前一列中的数据进行计数的代码,复制上一个商店中的值,并根据前一列的行数将其粘贴到列中。
谢谢! 乔
答案 0 :(得分:0)
尝试在发布的代码块下方添加以下内容:
Range(Cells(2, 1), Cells(2, (J * 2))).Copy
Range("B2").Select
ActiveSheet.PasteSpecial Format:=1, Link:=1, DisplayAsIcon:=True, IconFileName:=False
基本上它会将第二行复制到您有数据的位置(先前计算的列数为2以考虑添加的空白),选择第一个空白单元格,然后执行选中“跳过空白”属性的“粘贴特殊”上。
答案 1 :(得分:0)
Sub tgr()
Dim cIndex As Long
For cIndex = Cells(2, Columns.Count).End(xlToLeft).Column To 2 Step -1
Columns(cIndex + 1).Insert
Range(Cells(1, cIndex + 1), Cells(Rows.Count, cIndex).End(xlUp).Offset(, 1)).Value = Cells(2, cIndex).Value
Next cIndex
End Sub