Ошибка 1004 независимо — динамическая от первого до последнего

#vba

#vba

Вопрос:

Мой код

 c=application.match("ID",rows(1),0)
Set n_copy_range=range(cells(1,c),Range(Rows.Count, c).End(xlUp))
 

Я продолжаю получать ошибку 1004 «диапазон» объекта «_Global failed». Пытался установить его как целое число / длинный / диапазон, без каких-либо наборов, с набором n_copy_range, без, но он продолжает терпеть неудачу в rows.count части, я думаю?

Моя цель — посмотреть, какой столбец является «ID», затем получить номер столбца, и когда я его получу, тогда предполагается скопировать из первой в последнюю ячейку

Я могу преодолеть это с помощью

 Cells(1, c).Select 
Range(Selection, Selection.End(xlDown)).Select
 

Однако я читал, что это не очень эффективное решение, поэтому я стараюсь опустить это, поэтому я хотел бы избавиться от этой основной ошибки и сохранить первую форму доступной для меня

Ответ №1:

Вы были очень близки:

 Sub sdklfhsf()
    Dim c As Long, n_copy_range As Range
    c = Application.Match("ID", Rows(1), 0)
    
    Set n_copy_range = Range(Cells(1, c), Cells(Rows.Count, c).End(xlUp))
End Sub
 

Комментарии:

1. большое вам спасибо. я перепробовал так много вариантов, но этот был так близок .. еще раз спасибо, я одобряю