Страницы: 1
RSS
vba Как использовать переменную в части названия книги
 
Добрый день.
Укажите мне, пожалуйста, на ошибку. Хочу использовать переменную mnth в названии книги:
Код
Sub CheckDiffs()
Dim wsh1 As Worksheet
Dim wsh2 As Worksheet
Dim mnth As String

mnth = "Март 2015" 'поменять при смене месяца/года
Set wsh1 = Workbooks("Отчет по выручке " & mnth & "_sql.xlsx").Sheets("выручка")
Set wsh2 = Workbooks("Отчет по выручке " & mnth & ".xlsx").Sheets("выручка")

но выдается ошибка.
Что не так?
 
А у вас соответствующие книги уже созданы? Если нет, надо будет создать или использовать блок c
Код
on error resume next
...
if err <> 0 then...
...
on error goto 0
С уважением,
Федор/Все_просто
 
Код
Set wsh1 = Workbooks(("Отчет по выручке " & mnth & "_sql.xlsx")).Sheets("выручка")

С доп.скобками работает.
Хм... и без работает... бррр..... 80[  ]

З.Ы. ув.Все_просто правильно говорит: если листов с такими именами нет в книге, то надо их сначала создать, а потом использовать Set
Изменено: Пытливый - 17.04.2015 09:52:33
Кому решение нужно - тот пример и рисует.
 
все листы есть. когда без переменной, т.е. просто вот так, все работает:
Код
Setwsh1 = Workbooks("Отчет по выручке Март 2015_sql.xlsx").Sheets("выручка")
Set wsh2 = Workbooks("Отчет по выручке Март 2015.xlsx").Sheets("выручка")
 
не знаю что такое было, но перезапустила excel и все заработало. спасибо всем)
 
Если все объекты на месте, проблем быть не должно. Попробуйте просто к книге обратиться по сборному названию - будет ли ошибка и если да, то какая.
Страницы: 1
Наверх