Я работаю над другим проектом Excel, и на этот раз я впервые окунул ноги в макросы VBA. У меня были очень базовые знания VB, но прошло более десяти лет с тех пор, как я использовал язык, поэтому я довольно потерян.
во всяком случае, у меня есть следующая функция, которую я использую для добавления строки в другую таблицу. Он работает безупречно, но мне не нравится, как неэлегантно он выглядит:
Sub setRecord()
If [K2].Value <> "" Then
appendToRecord "RecordsTable", [E2:K2].Value
End If
If [K3].Value <> "" Then
appendToRecord "RecordsTable", [E3:K3].Value
End If
If [K4].Value <> "" Then
appendToRecord "RecordsTable", [E4:K4].Value
End If
If [K5].Value <> "" Then
appendToRecord "RecordsTable", [E5:K5].Value
End If
If [K6].Value <> "" Then
appendToRecord "RecordsTable", [E6:K6].Value
End If
End Sub
Я уверен, я не единственный, кто чувствует то же самое путь...
У меня есть фиксированное количество строк прямо сейчас. Однако это может измениться в будущем, и я хотел бы, чтобы мой код был готов к этому без необходимости добавлять или удалять оператор IF.
в принципе, я проверяю определенную ячейку в строке, если она пуста, и, если это не так, я запускаю другую функцию, чтобы добавить значения в этой строке в новую строку в таблице.
Итак, мой вопрос в том, есть ли способ зациклить диапазон строк, таких как цикл For или ForEach, в то время как проверка значения в определенном столбце по пути, чтобы я мог сделать этот кусок кода короче / эффективнее в VBA? Любые указатели будут высоко оценены. Кстати, я использую Office 365.