У меня есть код vba, который генерирует электронное письмо. Я хочу, чтобы в качестве темы использовались данные из первой и последней ячеек в моем списке. Дело в том, что мой список не имеет заданной длины, иногда он содержит 5 частей данных, иногда 8 и т. д. Как мне сказать vba выбрать первую и последнюю ячейку независимо от длины списка?
Благодарность





Range("A1").End(xlDown).Value
Где ячейка - это то место, где вы хотите начать, а конечная часть перемещается до конца
Для меня лучше всего иметь на листе ячейки, которые вычисляют первую и последнюю строку (это можно сделать разными способами), а затем давать этим ячейкам имя диапазона, такое как FirstRow и LastRow. В вашем vba вы обращаетесь к этим ячейкам, чтобы сделать ваш код динамическим.
например:
firstRow = Range("FirstRow)
lastRow = Range("lastRow")
test = range(cells(firstRow,lastRow))
- Обратите внимание, что я не писал VBA в течение многих лет, поэтому пишу вышеизложенное по памяти, поэтому это может быть неточно.
Конечно, вы можете сделать все это полностью в VBA, используя упомянутый ранее метод xlDown, но я предпочитаю, чтобы он был прозрачен на главной странице, чтобы легко обнаружить, если что-то сломается.
Найдите последнюю использованную строку в вашем списке. Соберите все значения в цикле и вставьте его в тему вашего электронного письма.