Ответ 1
Похоже, что что-то вроде ниже будет соответствовать вашим потребностям:
With Sheets("Sheet1")
.Rows( X & ":" & .Rows.Count).Delete
End With
Где X - переменная, которая = номер строки (415)
У меня есть длинная переменная X, содержащая число. Скажите это 415.
Как удалить все на листе из строки 415 и ниже?
Я хочу, чтобы моя таблица была чистой в строке 415 и все остальное, что могло бы быть ниже.
Как мне это сделать? Спасибо.
Похоже, что что-то вроде ниже будет соответствовать вашим потребностям:
With Sheets("Sheet1")
.Rows( X & ":" & .Rows.Count).Delete
End With
Где X - переменная, которая = номер строки (415)
Другой вариант - Sheet1.Rows(x & ":" & Sheet1.Rows.Count).ClearContents
(или .Clear
). Причина, по которой вы, возможно, захотите использовать этот метод вместо .Delete
, - это то, что любые ячейки с зависимостями в удаленном диапазоне (например, формулы, которые относятся к этим ячейкам, даже если они пусты), будут отображаться #REF
. Этот метод сохранит ссылки на ссылки на очищенные ячейки.
Эта функция очистит данные листа, начиная с указанной строки и столбца:
Sub ClearWKSData(wksCur As Worksheet, iFirstRow As Integer, iFirstCol As Integer)
Dim iUsedCols As Integer
Dim iUsedRows As Integer
iUsedRows = wksCur.UsedRange.Row + wksCur.UsedRange.Rows.Count - 1
iUsedCols = wksCur.UsedRange.Column + wksCur.UsedRange.Columns.Count - 1
If iUsedRows > iFirstRow And iUsedCols > iFirstCol Then
wksCur.Range(wksCur.Cells(iFirstRow, iFirstCol), wksCur.Cells(iUsedRows, iUsedCols)).Clear
End If
End Sub
Любая ссылка на "Строка" должна использовать "long" not "integer", иначе она будет переполняться, если в электронной таблице много данных.