2016-02-09 2 views
0

Этот код компилируется, но не работает:Как установить имя рабочего листа = имя, возвращенное вызовом функции

Dim wsLabel As String 
Dim ws As Worksheet 

wsLabel = paramToWriteWorksheet(paramLabel) 
Set ws = Sheets("wsLabel") 

где paramToWriteWorksheet возвращает строку, которая является именем существующего листа

Как я могу получить код, чтобы сделать то, что говорит мой заголовок?

+0

Удалить кавычки. Изменить: возможно, нет ... вам, возможно, придется конкатенировать цитаты с переменной XD – findwindow

+0

. не повезло. – jmaz

ответ

0

Что-то вроде:

Sub qwerty() 
    Dim wsLabel As String 
    Dim ws As Worksheet 
    Set ws = ActiveSheet 

    wsLabel = paramToWriteWorksheet(paramLabel) 
    ws.Name = wsLabel 
End Sub 
+0

Пробовал свой код. Теперь основная функция запускает циклическое справочное предупреждение, требуя, чтобы пользователь нажимал [OK], а затем основная функция оценивалась в 0, что не является правильным ответом, по-видимому, потому, что он не указывает на намеченный рабочий лист. – jmaz

+0

@Max ** При адаптации этого кода вы должны поместить значение в 'paramLabel'. –

+0

Я: paramLabel - это строка, которая передается функции paramToWriteWorksheet, которая возвращает другую строку, которая является именем рабочего листа, который должен использоваться в основной функции. – jmaz

Смежные вопросы