Как преодолеть ошибку 1004, диапазон объекта _global не удалось

Здесь я пытаюсь скопировать данные с одного листа на другой, где мне нужно исключить один конкретный столбец из листа копирования.

Нравиться : Думаю, у меня есть 2 листа (с именами как «Комбинированный», «HSR») из HSR, мне нужно скопировать все данные в комбинированный лист, за исключением значений столбца «D».

Dim ws As Worksheet
Dim ColumnLetter As Variant
    Set ws = Sheets("HSR")
    Worksheets("HSR").Select
    lr = Cells.Find("*", , xlValues, , xlRows, xlPrevious).Row
    lr2 = Sheets("Combined").Cells.Find("*", , xlValues, , xlRows, xlPrevious).Row
    ColumnLetter = Split(ws.Cells.Find(What: = "*", After:=[A1], SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Cells.Address(1, 0), "$")(0)
    Range("A2:C" & lr).Copy Sheets("Combined").Range("A" & lr2 + 1)
    Range("E2:ColumnLetter" & lr).Copy Sheets("Combined").Range("D" & lr2 + 1)
End Sub

Я ожидаю, что на листе Combined я не должен получать значения, которые находятся в столбце D из листа HSR.

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

Ответы 1

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

ColumnLetter — переменная. Вы используете его как String.

Изменять

Range("E2:ColumnLetter" & lr).Copy Sheets("Combined").Range("D" & lr2 + 1)

к

Range("E2:" & ColumnLetter & lr).Copy Sheets("Combined").Range("D" & lr2 + 1)

Также несколько советов

  1. lr = Cells.Find("*", , xlValues, , xlRows, xlPrevious).Row и lr2 = Sheets("Combined").Cells.Find("*", , xlValues, , xlRows, xlPrevious).Row дадут вам ошибку, если .Find ничего не вернет. Обработайте это, как показано в .Найти и .НайтиNext

  2. Избегайте использования .Select. Вы можете увидеть Как избежать использования Select в Excel VBA

'@Siddharth Rout' Спасибо за ваше предложение и решение.

Girish 31.05.2019 09:37

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