将范围从一个工作表复制到另一个工作表的第一个空行

时间:2015-04-29 16:13:30

标签: excel excel-vba vba

在Excel工作表中,我插入了一个执行宏的按钮。这是宏的代码:

Sub Button1_Click()
'
' Button1_Click Macro
'
' Keyboard Shortcut: Option+Cmd+y
'
    Range("A17:I34").Select
    Selection.Copy
    Sheets("ITEMS CONTROL").Select
    Range("A7").Select
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    Range("A3:I9").Select
End Sub

源表是“ORDEN DE COMPRA”,我要复制所选范围的表格是“ITEMS CONTROL”。

我需要的是将所选范围中的非空行复制到结束表中的第一个空行,而不是复制到我当前代码中的范围。

谢谢

1 个答案:

答案 0 :(得分:1)

这会有用吗?

Sub Button1_Click()

    'This will select the whole range of cells starting in A17
    Sheets("ORDEN DE COMPRA").Select
    Range(Range("A17"), Range("A17").End(xlDown).End(xlToRight)).Copy

    'Now we need to find the first free row in the next sheet, assuming all rows have something on column A
    Sheets("ITEMS CONTROL").Select
    Range("A1").End(xlDown).Offset(1, 0).Select
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
            False, Transpose:=False


End Sub