根据单元格原始列中的行数将内容从特定单元格复制到空列

时间:2016-10-14 06:53:24

标签: excel vba excel-vba

我目前面临的任务是每隔一列插入一列,将单元格的内容复制到新插入的列中,该列的范围是根据复制原始值的行数计算的。

重复,直到所有插入的列都插入了复制值。请参阅插入的图像,例如原始数据和转换数据。

原始数据 Raw Data

最终数据,第三个单元格的内容根据单元格行数复制到范围内,但是左侧为空列。 enter image description here

从代码的角度来看,我已经找到了如何插入空列,但计算行数并将第三个单元从B,D,F复制到ilastcol到左列A,C,E,n同样的范围让我不知所措。再加上列数(ilastcol)中每隔三个细胞重复一次,我就是这样。我查看了row.count来计算行长度。

unlist(sapply(union(vec_1, vec_2), function(i) 
                     rep(i, each = length(vec_1[vec_1 == i]) - length(vec_2[vec_2 == i]))))
#[1]  2  2  2  2  3  4  4  4  5  6  7  7  7  9  9  9 10 10 11 11 12 12 13 13 14 14

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

你必须更清楚,我不知道你还想做什么。

我希望这就是你的意思。

Sub insert_column_after_interval_1()



Dim iLastCol As Integer
    iLastCol = Cells(1, Columns.Count).End(xlToLeft).Column

    For colx = iLastCol To 2 Step -1

        Columns(colx).Insert Shift:=xlToRight

    Next

End Sub