Чтобы получить LastRow
динамически, для столбца A:
Dim LastRow As Long
LastRow = Sheets.Cells(Rows.Count, 2).End(xlUp).Row.
' the 1 in Cells(Row.Count, 1) indicates column 1 which is A
Если я правильно понимаю, вы хотите, чтобы значение 115 было вставлено в следующую пустую строку в столбце B, вы можете назначить pasteRowIndex
так же, как и так:
Dim pasteRowIndex As Long
pasteRowIndex = Sheets.Cells(Rows.Count, 2).End(xlUp).Row.
' the 2 in Cells(Row.Count, 1) indicates column 1 which is B
Если pasteRowIndex
должен находиться между строками, строки 34 и 64 вставляются в оператор If...Then...Else
. Что-то вроде:
If pasteRowIndex < 34 Or pasteRowIndex > 64 Then
MsgBox "PasteRowIndex =" & pasteRowIndex & vbNewLine & "It must be between rows 34 and 64."
Exit Sub
Else
'Continue with procedure.
End If
Тот же принцип, что и для диапазона c:
Dim pasteRowIndex As Long
pasteRowIndex = Sheets.Cells(64, 2).End(xlUp).Row.
'You could change Cells(64, 2) with Range("B64") too.