VBA Excel - 将列值转换为另一列以及插入空行

时间:2017-10-06 10:16:23

标签: excel vba excel-vba

我想转换价值观。

假设在A1:A20中有20个值,而在B1:B20中还有20个值。

我想以结果应该是这样的方式复制B列的值:

小区A1值为A1,小区A2值为B1,小区A3值为A2,小区A4值为{ {1}}。

同样在单元格B1中,值为A40。 (为了更清楚,我附上了图片)

所以这里的第一步是在列A中交替插入blanck单元格 而不是复制该空白单元格中B列的值。

为了更清晰,请找到图像

 example

2 个答案:

答案 0 :(得分:0)

始终发布您先尝试过的内容!

Sub test()

    Application.ScreenUpdating = False

    Dim i As Long
    For i = 2 To 20 Step 2
        Sheets("Sheet1").Range("A" & i).EntireRow.Insert
    Next i

    Sheets("Sheet1").Range("B1:B40").copy
    Sheets("Sheet1").Range("A2").PasteSpecial Paste:=xlPasteAll, SkipBlanks:=True

    Application.ScreenUpdating = True

End Sub

答案 1 :(得分:0)

也许这不是您正在寻找的,但另一种解决方案是使用如下的常规公式。

=IFERROR(INDEX($A$2:$B$9,ROUNDDOWN(ROW()/2,0),ISODD(ROW())+1),"")

但这不会给你想要的颜色。只是扔掉另一种方法供你参考。