1

我正在为以下示例寻找解决方案。我有一个客户向我发送了一个包含 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 

我只需要基于上一列中的数据进行计数的代码,从上一列中复制值并根据上一列的行数将其粘贴到列中。

谢谢!乔

4

2 回答 2

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
于 2013-09-04T21:33:50.063 回答
0

尝试在您发布的代码块下方添加以下内容:

Range(Cells(2, 1), Cells(2, (J * 2))).Copy
Range("B2").Select
ActiveSheet.PasteSpecial Format:=1, Link:=1, DisplayAsIcon:=True, IconFileName:=False

基本上,它将第二行复制到您拥有数据的位置(先前计算的列乘以 2 以说明添加的空白),选择第一个空白单元格,然后在“跳过空白”属性打开的情况下执行选择性粘贴。

于 2013-09-04T21:32:46.790 回答