Ввод данных в следующую доступную строку Excel C#

#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
  

Преимущество этого заключается в том, что он выбирает следующую пустую строку (т. Е. Даже там, где после найденной строки существует больше данных).