#vba #excel
#vba #excel
Вопрос:
Я довольно новичок в VBA. Я пытаюсь написать код, который заполнит формулы в ячейках D3 и D4 справа и до последнего используемого столбца минус 3. Это то, что я придумал, но я не думаю, что это правильно
Sub fillRight()
Dim lastColumn As Integer
lastColumn = ActiveSheet.Cells(2, Columns.count).End(xlToLeft).Column - 3
range("D3:D4").Select
Selection.AutoFill Destination:=range("D3", lastColumn), Type:=xlFillDefault
range("D3", lastColumn).Select
End Sub
Любая помощь приветствуется!
Спасибо
Комментарии:
1.
range("D3", lastColumn)
—>range("D3:D" amp; lastColumn)
2. Это исправленная часть моего кода. Код, похоже, заполняет мою формулу. Я пытаюсь заполнить свои формулы справа. я изменил Тип:=xlFillDefault —-> Тип:=xlFillright, но не получил никакой удачи
Ответ №1:
Как насчет этого?
Sub fillRight()
Dim lastColumn As Integer
Dim rng_source As Range
Dim rng_Destination As Range
Dim l_SourceRows As Long
Set rng_source = Range("D3:D4")
l_SourceRows = rng_source.Rows.Count
lastColumn = ActiveSheet.Cells(2, Columns.Count).End(xlToLeft).Column - 3
Set rng_Destination = Range(rng_source.Cells(1), Cells(rng_source.Cells(1).Row l_SourceRows - 1, lastColumn))
rng_source.AutoFill _
Destination:=rng_Destination, _
Type:=xlFillDefault
End Sub
Вы были на правильном пути, установив свой последний столбец, но вам также нужно было знать последнюю строку, чтобы создать диапазон для последней ячейки диапазона заполнения.
Комментарии:
1. Это сработало, я знал, что чего-то не хватает. Спасибо за помощь. я ценю это.