После запуска макроса и создания данных на этом листе оригинала, я предлагаю пользователю назвать этот лист оригинала, используя приведенный ниже код.
oriSheet = InputBox("Please Name the Sheet?", vbOKCancel)
If oriSheet = False Or oriSheet = "" Then
MsgBox "Invalid Name"
Exit Sub
Else
ActiveSheet.Name = oriSheet
End If
oriSheet = ""
Затем я запускаю другую подпрограмму, чтобы прямо сейчас взять oriSheet для фильтрации.
Можно ли ссылаться на этот лист с помощью переменной?
Потому что я, кажется, не получаю там с ошибкой "индекс вне диапазона" в коде ниже.
Set sht = ThisWorkbook.Worksheets("oriSheet")
Set newsht = ThisWorkbook.Worksheets("sheet2")
Я забрал двойные кавычки, думая из-за них, oriSheet не интерпретируется, как другие языки программирования. Но это все еще не работает.
Я подумал, что это может быть легко, но я потратил на это часы.
Я пошел в Google, там говорится: «Существует два способа ссылаться на лист, по индексу (но Idk индекс) и по имени (но Idk имя тоже?)"