我目前面临的任务是每隔一列插入一列,将单元格的内容复制到新插入的列中,该列的范围是根据复制原始值的行数计算的。
重复,直到所有插入的列都插入了复制值。请参阅插入的图像,例如原始数据和转换数据。
原始数据
最终数据,第三个单元格的内容根据单元格行数复制到范围内,但是左侧为空列。
从代码的角度来看,我已经找到了如何插入空列,但计算行数并将第三个单元从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
任何帮助都将不胜感激。
答案 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