Заполните формулу справа от последнего используемого столбца

#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. Это сработало, я знал, что чего-то не хватает. Спасибо за помощь. я ценю это.