У меня есть форма, в которой вы заполняете материал, а часть его должна быть скопирована на другой лист в конце списка.Вставить скопированные материалы в самом конце строки
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
У меня есть этот код, чтобы найти последнюю строку и вставить/написать «мое новое значение» в ней. Но мне нужно, чтобы он вставлял больше, чем одну ячейку. Мне просто нужно, чтобы он выбирал ту часть, где он записывал «мое новое значение». Я должен быть в состоянии сделать все остальное Теперь я использую код ниже. Но он все еще копирует материал из листа «Tabelle3», но он должен копировать материал из листа «Tabelle2»
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
Если вы хотите, чтобы только одно значение было вставлено в несколько ячеек, сначала определите, какой диапазон (скажем, вы хотите вставить в 5 ячеек), а затем просто используйте '.Range (« B »& Lastrow &»: B "& lastrow + 5) .value = textbox1.text' –