Поиск последней пустой ячейки - VBA

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток. Необходим макрос для excel следующего функционала: есть выпадающий список в клетке D4 в котором отображаются все данные А5-E5. При добавлении в список нового значения оно должно автоматически дописываться в последнюю пустую клетку заданного диапазона. Так вот как правильно прописать именно клетку, куда пропишется новое значение? Вот что я написал и где застопорился:
Листинг программы
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2. Dim lReply As Long
  3. If Target.Cells.Count > 1 Then Exit Sub
  4. If Target.Address = "$D$4" Then
  5. If IsEmpty(Target) Then Exit Sub
  6. If WorksheetFunction.CountIf(Range("A5:E5"), Target) = 0 Then
  7. lReply = MsgBox("Добавить введенное имя " & _
  8. Target & " в выпадающий список?", vbYesNo + vbQuestion)
  9. If lReply = vbYes Then
  10. Range("A5:E5").Cells(1, Range(?????).Columns.Count + 1) = Target
  11. End If
  12. End If
  13. End If
  14. End Sub
По задумке должна была находиться последняя заполненная клетка и записывать данные в следующую справа, но если вместо Range(рядом с ????) пишу CountA - вылазят ошибки и ничего не работает. Буду признателен за помощь.

Решение задачи: «Поиск последней пустой ячейки»

textual
Листинг программы
  1. Dim lLastRow As Long
  2. Dim lLastCol As Long
  3. lLastRow = Cells(Rows.Count,1).End(xlUp).Row 'последняя заполненная строка в 1 столбце
  4. lLastCol = Cells(1, Columns.Count).End(xlToLeft).Column 'последний заполненный столбец в 1 строке

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.8 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы