Поиск последней пустой ячейки - VBA
Формулировка задачи:
Доброго времени суток.
Необходим макрос для excel следующего функционала: есть выпадающий список в клетке D4 в котором отображаются все данные А5-E5. При добавлении в список нового значения оно должно автоматически дописываться в последнюю пустую клетку заданного диапазона. Так вот как правильно прописать именно клетку, куда пропишется новое значение?
Вот что я написал и где застопорился:
По задумке должна была находиться последняя заполненная клетка и записывать данные в следующую справа, но если вместо Range(рядом с ????) пишу CountA - вылазят ошибки и ничего не работает. Буду признателен за помощь.
Листинг программы
- Private Sub Worksheet_Change(ByVal Target As Range)
- Dim lReply As Long
- If Target.Cells.Count > 1 Then Exit Sub
- If Target.Address = "$D$4" Then
- If IsEmpty(Target) Then Exit Sub
- If WorksheetFunction.CountIf(Range("A5:E5"), Target) = 0 Then
- lReply = MsgBox("Добавить введенное имя " & _
- Target & " в выпадающий список?", vbYesNo + vbQuestion)
- If lReply = vbYes Then
- Range("A5:E5").Cells(1, Range(?????).Columns.Count + 1) = Target
- End If
- End If
- End If
- End Sub
Решение задачи: «Поиск последней пустой ячейки»
textual
Листинг программы
- Dim lLastRow As Long
- Dim lLastCol As Long
- lLastRow = Cells(Rows.Count,1).End(xlUp).Row 'последняя заполненная строка в 1 столбце
- lLastCol = Cells(1, Columns.Count).End(xlToLeft).Column 'последний заполненный столбец в 1 строке
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д