将用户选定的行复制到新工作表上的下一个空行

时间:2015-11-16 12:34:28

标签: excel vba excel-vba

我有一个包含2个工作表的工作簿。表1是打开的,而表2是关闭的情况

我正在尝试复制用户选定行的值,并将这些值粘贴到已关闭工作表的下一个空行中。

我有一个VBA可以做到这一点,但我认为它可以减少,但不知道如何做到这一点。

我目前的代码如下。 DRow是一个计算出的calue并且工作正常,Irow从消息框中获取并再次正常工作

    Worksheets("Closed").Cells(DRow, 2).Value = Worksheets("Open").Cells(iRow, 2).Value
    Worksheets("Closed").Cells(DRow, 3).Value = Worksheets("Open").Cells(iRow, 3).Value
    Worksheets("Closed").Cells(DRow, 4).Value = Worksheets("Open").Cells(iRow, 4).Value
    Worksheets("Closed").Cells(DRow, 5).Value = Worksheets("Open").Cells(iRow, 5).Value
    Worksheets("Closed").Cells(DRow, 6).Value = Worksheets("Open").Cells(iRow, 6).Value
    Worksheets("Closed").Cells(DRow, 7).Value = Worksheets("Open").Cells(iRow, 7).Value
    Worksheets("Closed").Cells(DRow, 8).Value = Worksheets("Open").Cells(iRow, 8).Value
    Worksheets("Closed").Cells(DRow, 9).Value = Worksheets("Open").Cells(iRow, 9).Value

有没有办法将其压缩成一行或两行

1 个答案:

答案 0 :(得分:4)

只需使用.Resize

Worksheets("Closed").Cells(DRow, 2).Resize(1,7).Value = _
    Worksheets("Open").Cells(iRow, 2).Resize(1,7).Value