Макрос для автоматического заполнения текста в столбце до последней ячейки в одной таблице (хотя ниже есть дополнительные таблицы)

пример таблиц в электронной таблице

Привет, я новичок в VBA и хотел создать макрос, который может автоматически заполнять столбец «Да/Нет» (как показано на прикрепленном рисунке) текстом «Да», нажав кнопку.

Прямо сейчас у меня есть 3 строки в первой таблице, и это нормально, и я использовал следующий код:

Sub autofill1()
Range("E12").Value = "Yes"
Range("E12").Select
Selection.AutoFill Destination:=Range("E12:E14")
End Sub

Однако строки в первой таблице будут постоянно меняться, например, они станут 20, 50, 100 в зависимости от разных случаев. Интересно, есть ли способ определить диапазон автозаполнения от ячейки E12 до последней ячейки в этой таблице, а не распространяться на остальные таблицы ниже.

Я проверил коды, предоставленные для других подобных вопросов - похоже, он будет автоматически заполняться до последней ячейки на моем листе, которая является последней ячейкой в ​​этом столбце 5-й таблицы. А я этого не хочу. Есть ли способ автоматически заполнить только последнюю ячейку 1-й таблицы? Большое спасибо заранее!


person JudyA    schedule 03.08.2017    source источник
comment
почему бы тебе просто не сделать Range("E12:E14")="Yes" ?   -  person jsotola    schedule 04.08.2017


Ответы (1)


На мой взгляд, добавляя «да», пока не нашел нижнюю границу.

Sub autofill1()
'Range("E12").Value = "Yes"
'Range("E12").Select
'Selection.AutoFill Destination:=Range("E12:E14")
Dim i As Long
i = 11
Do While Range("E" & i).Borders(xlEdgeBottom).LineStyle _
= xlNone
i = i + 1
Cells(i, 5) = "Yes"

Loop

End Sub
person Duc Anh Nguyen    schedule 04.08.2017