#c# #excel
#c# #excel
Вопрос:
Всем привет, есть ли способ получить следующую пустую строку в Excel, а затем разрешить ввод данных в эту строку? Я поискал в Интернете и не нашел ничего похожего на это. Одна идея, которая мне пришла в голову, состояла в том, чтобы добавлять строку каждый раз и просто вводить данные в эту строку, но мне просто было интересно, есть ли какой-нибудь более простой способ сделать это. любая помощь очень ценится. Спасибо
Ответ №1:
Взгляните на свойство UsedRange в Excel.
Ответ №2:
С чем следует быть осторожным в .usedrange, так это с тем, что он может выбрать строку с данными-призраками (где данные, возможно, были удалены, но остались некоторые устаревшие данные, такие как форматы). Здесь у вас останутся пустые строки, которые необходимо удалить.
Если у вас есть какой-либо столбец в ваших данных, который не может быть пустым, то это довольно просто — просто используйте
range("a1").end(xldown).row
метод. Если вы ищете следующую доступную пустую строку (где любой столбец может быть заполнен / пуст), вы можете использовать функцию поиска, чтобы получить ее. Что-то вроде;
Sub UnusedRow()
Dim lStartRow As Long
Dim lUnusedRow As Long
lStartRow = 3 'starting row no in case you have blank rows at the top
lUnusedRow = lStartRow - 1
Application.ScreenUpdating = False
On Error Resume Next
Do While lStartRow = lUnusedRow 1
lUnusedRow = lStartRow
lStartRow = Cells.Find("*", Cells(lUnusedRow, 1), , , xlByRows, xlNext).Row 1
Loop
On Error GoTo 0
Application.ScreenUpdating = True
End Sub
Преимущество этого заключается в том, что он выбирает следующую пустую строку (т. Е. Даже там, где после найденной строки существует больше данных).