我有一个表格,你填写的东西,其中一个特定的部分应该被复制到列表末尾的另一张表。
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
答案 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"