Я пытаюсь создать макрос, который вводит имя листа и объединяет его с текстом. Например, для первого листа я хочу, чтобы он сказал «ThisIs_Sheet1_Test» в I5 листа 1. Есть несколько листов, но они должны работать для всех.Конкатенация дает ошибку с подчеркиванием
Что не так с моим кодом? Я думаю, что подчеркивание может испортить все это. Вот что у меня есть:
Dim SheetName As String
Public Sub CommandButton1_Click()
SheetName = ActiveSheet.Name
Sheets("Sheet1").Range("I5", "I5") = ThisIs_" & SheetName.text & "_Test
Sheets("Sheet2").Range("H5", "H5") = ThisIs_" & SheetName.text & "_Test
Sheets("Sheet3").Range("G5", "G5") = ThisIs_" & SheetName.text & "_Test
End Sub
Этот вопрос был направлен Pull in Earlier Value Using Concatenation
Диапазон для каждой страницы различен. Как его изменить? Кроме того, я могу получить его, чтобы отобразить имя листа, используя мой код, если я выберу «ThisIs_» и «_Test». Поэтому я не уверен, что указанная строка/предметная вещь вызывают разницу. – Daniel
Извините, Даниэль, я не обратите внимание на изменения диапазона. Если вы уже жестко кодируете имя листа (например, «Листы» («Лист1»), почему бы вам не использовать только Листы («Лист1»). Диапазон («I5»). Значение = «ThisIs_Sheet1_Test» Я получаю «недопустимый квалификатор», когда я пытаюсь скомпилировать ваш код, а это значит, что нет свойства Text переменной String. Нам что-то не хватает. –
Вы видели мой ответ выше? Я не уверен, почему это работает, но теперь у меня есть совершенно новая проблема! – Daniel