Удалять строки и столбцы до определенного диапазона

У меня есть книга Excel, в которой я ищу дату в заголовке с помощью .Find.

Например, если он находится в RANGE("C3"), он должен удалить его ряды выше и столбцы перед.

Пожалуйста, помогите мне написать код VBA для выполнения этой операции.

Dim WSD As Worksheet
Set WSD = Worksheets("report")
Dim MyRange As Range
Set MyRange = WSD.Range("A:AZ")
Set R = MyRange.Find("Date", LookIn:=xlValues)
Debug.Print R.Address

Итак, для всех намерений и целей вы переносите Date на A1 ...?

user4039065 10.08.2018 14:03

да. я хочу, чтобы мой заголовок начинался с 1 строки и 1 столбца

Prayag 10.08.2018 14:06

мой макрос, который содержит много модулей, основан на A1. остальные все остальные завершены только для одного листа мой прогресс остановлен.

Prayag 10.08.2018 14:10
Преобразование HTML-таблицы в профессиональный документ Excel
Преобразование HTML-таблицы в профессиональный документ Excel
Это самый простой способ создания Excel из HTML-таблицы.
Импорт excel в laravel в базу данных
Импорт excel в laravel в базу данных
Здравствуйте, дорогой читатель, в этой статье я расскажу практическим и быстрым способом, как импортировать файл Excel в вашу базу данных с помощью...
0
3
122
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Пытаться,

dim MyRange  as range

with Worksheets("report")
    Set MyRange = .Range("A:AZ").Find("Date", LookIn:=xlValues)
    if not MyRange is nothing then
        if MyRange.column > 1 then
            .cells(1, 1).resize(1, MyRange.column -1).entirecolumn.delete
        end if
        if MyRange.row> 1 then
            .cells(1, 1).resize(MyRange.row-1, 1 ).entirerow.delete
        end if
    end if
end with

Большое спасибо, @Jeeped. я очень ценю вашу поддержку. это решило мою проблему.

Prayag 10.08.2018 14:14

другой путь:

Dim MyRange  As Range
With Worksheets("report")
    Set MyRange = .Range("A:AZ").Find("Date", LookIn:=xlValues)
    If Not MyRange Is Nothing Then MyRange.Resize(.UsedRange.Rows.Count + MyRange.Row, .UsedRange.Columns.Count + MyRange.Column).Cut Destination:=.Range("A1")
End With

Или

Dim MyRange  As Range
With Worksheets("report")
    Set MyRange = .Range("A:AZ").Find("Date", LookIn:=xlValues)
    If Not MyRange Is Nothing Then
        .Rows(1).Insert
        .Columns(1).Insert
        With .Range("A1", MyRange)
            .Resize(, .Columns.Count - 1).EntireColumn.Delete
            .Resize(.Rows.Count - 1).EntireRow.Delete
        End With
    End If
End With

Другие вопросы по теме