使用VBA复制粘贴数据顺序数据块

时间:2015-08-06 11:51:10

标签: excel vba excel-vba

您好我有一个关于将数据从一个Excel电子表格复制到另一个电子表格的问题。我想将数据块复制到特定单元格。我将以我想做的为例。假设我想使用下面的VBA从范围B3:D26复制数据:

private bool allowFlap = true;

void Update () {
      bool mouseDown = Input.GetMouseButton(0);
      if (allowFlap && mouseDown) { 
          didFlap = true;
          allowFlap = false;
      } else if (!allowFlap && !mouseDown) {
          allowFlap = true;
      }
}

我想使用循环自动化它,但我的粘贴部分有问题。无法弄清楚使用什么步骤。我能想到的是下面但是我无法解决粘贴问题:

Output.Sheets("Table6.1").Range("B3:D8").Copy
Table.Sheets("Sheet1").Range("B10").PasteSpecial xlValues
Output.Sheets("Table6.1").Range("B9:D14").Copy
Table.Sheets("Sheet1").Range("B18").PasteSpecial xlValues
Output.Sheets("Table6.1").Range("B15:D20").Copy
Table.Sheets("Sheet1").Range("B26").PasteSpecial xlValues
Output.Sheets("Table6.1").Range("B21:D26").Copy
Table.Sheets("Sheet1").Range("B34").PasteSpecial xlValues

任何帮助将不胜感激。感谢

2 个答案:

答案 0 :(得分:3)

Sub copydata()

    Dim i As Long
    Dim j As Long

    j = 2

    For i = 3 To 21 Step 6
       Output.Sheets("Table6.1").Range("B" & i, "D" & i + 5).Copy
       j = j + 8
       Table.Sheets("Sheet1").Range("B" & j).PasteSpecial xlValues
    Next i                                                                  

End Sub

答案 1 :(得分:0)

为了好玩:

Sub copydata2()

    Dim i As Long
    Dim src As Range, dest As Range

    Set src = Output.Sheets("Table6.1").Range("B3:D8")
    Set dest = Table.Sheets("Sheet1").Range("B10")

    For i = 0 To 3
       src.Offset(i * 6, 0).Copy
       dest.Offset(i * 8, 0).PasteSpecial xlValues
    Next i

End Sub