在最后一行粘贴复制的东西

时间:2015-11-09 10:05:00

标签: excel excel-vba vba

我有一个表格,你填写的东西,其中一个特定的部分应该被复制到列表末尾的另一张表。

With Sheets("Sheet1")
If Application.WorksheetFunction.CountA(.Columns(2)) <> 0 Then
    lastrow = .Cells(rows.Count, "B").End(xlUp).Row
Else
    lastrow = 1
End If
.Cells(lastrow + 1, "B") = "my new value"
End With

我有这个代码来查找最后一行并粘贴/写入&#34;我的新值&#34;在里面。 但我需要它粘贴的不仅仅是一个细胞。我只需要它选择写入的部分&#34;我的新价值&#34; in。我应该能够做其余的事情 我现在正在使用下面的代码。但它仍然可以从表格中复制内容&#34; Tabelle3&#34;但它应该从表格中复制这些东西&#34; Tabelle2&#34;

Private Sub CommandButton1_Click()
    Dim lastRow As Long

    With Sheets("Tabelle3")
        If Application.WorksheetFunction.CountA(.Columns(1)) <> 0 Then
            lastRow = .Cells(Rows.Count, "A").End(xlUp).Row + 1 '<~~ Add 1 here and not as you are doing
        Else
            lastRow = 1
        End If

        Sheets("Tabelle2").Select
        Range("B85:S85").copy
        Sheets("Tabelle3").Select

        '~~> Paste special
        .Range("C" & lastRow).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    End With
 End Sub

1 个答案:

答案 0 :(得分:2)

您必须找到最后一个空行,然后只需执行粘贴或粘贴,如下所示。

is-active

以上代码将复制范围Sub Sample() Dim lastRow As Long With Sheets("Sheet1") If Application.WorksheetFunction.CountA(.Columns(2)) <> 0 Then lastRow = .Cells(Rows.Count, "B").End(xlUp).Row + 1 '<~~ Add 1 here and not as you are doing Else lastRow = 1 End If Range("Z10:Z100").Copy '~~> Paste special .Range("B" & lastRow).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False End With End Sub 并在Col B中的下一个可用行上执行pastespecial。如果您不想执行pastespecial并想要直接粘贴,请参阅此

"Z10:Z100"