Я написал VBA-код в этой статье, так что код будет запускаться автоматически при открытии файла Excel. Код выбирает динамический диапазон, используя xlDown
, затем он будет добавлять имя в книгу в зависимости от выбора. Проверьте код ниже:Ошибка выбора диапазона в VBA
Private Sub Workbook_Open()
Sheets("sheet1").Range("E2", Sheets("sheet1").Range("E2").End(xlDown)).Select
ActiveWorkbook.Names.Add Name:="DateList", RefersTo:=Selection
End Sub
Я уверен, что я правильно пишу, но я получаю сообщение об ошибке, как это:
Время работы ошибка «1004»: Выберите метод Range Class не удалось
Это сообщение об ошибке выдвигает на первый план второй линии:
Sheets("sheet1").Range("E2", Sheets("sheet1").Range("E2").End(xlDown)).Select
И когда я использую тот же метод выбора, чтобы очистить тот же диапазон, он работает без ошибок, как показано ниже:
Sheets("sheet1").Range("E2", Sheets("sheet1").Range("E2").End(xlDown)).Clear
Что именно вы пытаетесь выбрать в первой строке? – Kathara
@ Kathara диапазон начинается с 'E2', и он может заканчиваться где угодно в том же столбце, что и' E15' или 'E20', поэтому он должен быть динамическим. И содержимое просто число, 6 цифр номер – user3714330
. Процесс '.Clear', вероятно, запущен, потому что' sheet1' на самом деле является активным листом в этот момент времени, поэтому вы можете уйти, не уточнив ссылки на диапазон. –