Как скопировать B1 до последних столбцов в наборе данных - PullRequest
0 голосов
/ 16 октября 2019

Я пытаюсь перетащить столбцы с B1 до последней строки в наборе данных. B1 всегда будет заполняться значением, и мне нужно, чтобы оно копировалось и вставлялось 'x' количество раз в столбец B в зависимости от того, сколько строк на листе.

Sub Button1test_Click()

Set src = Sheets("Sheet1")
Dim Lastrow As Long

Lastrow = Range("B" & Rows.Count).End(xlUp).Row

src.Range("B1:B" & Lastrow).Value = "B1"

End Sub

столбцыB должно быть заполнено 'lucord' x количество раз.

1 Ответ

0 голосов
/ 16 октября 2019

"B1" - это текст «B1», а не ссылка на диапазон B1.

Кроме того, это отличный вариант использования блока With...End With для квалификации вызовов Range - в противном случае Lastrow определяется из активного листа, который необязательно может быть src.

Изменить

Lastrow = Range("B" & Rows.Count).End(xlUp).Row

src.Range("B1:B" & Lastrow).Value = "B1"

на

With src
    Lastrow = .Range("B" & .Rows.Count).End(xlUp).Row
    .Range("B1:B" & Lastrow).Value = .Range("B1").Value
End With

РЕДАКТИРОВАТЬ: Если заполнено только B1, то Lastrow = 1. Определите Lastrow на основе заполненного столбца, например столбец A:

Lastrow = .Range("A" & .Rows.Count).End(xlUp).Row
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...