|
Excel. макрос падает с ошибкой: "Runtime error 1004: application-defined or object-defined error". |
☑ |
0
Сергей Д
11.09.14
✎
15:41
|
Доброго всем дня
Ваяю отчет на основе Excel-шаблона. В шаблоне используются макросы. В одном макросе идет присвоение имени листу:
ActiveSheet.Name = ActiveSheet.Cells(1,9).Value
Тут макрос падает с ошибкой: "Runtime error 1004: application-defined or object-defined error".
Та же ошибка появляется, если сделать так:
dim s as string
s = ActiveSheet.Cells(1,9).Value
ActiveSheet.Name = s <--- падает тут
При этом если написать:
ActiveSheet.Name = "1234"
ошибка не возникает.
Что же я делаю не так?
|
|
1
piter3
11.09.14
✎
15:43
|
тип значения не?
|
|
2
Ёпрст
гуру
11.09.14
✎
15:44
|
(0) добавь "_" перед именем, будет работать
|
|
3
SUA
11.09.14
✎
15:45
|
есть знатоки гугла =)
|
|
4
Сергей Д
11.09.14
✎
15:45
|
(1) Судя по справке к Excel, WorkSheet.Name "получает или устанавливает СТРОКОВОЕ значение имени".
|
|
5
SUA
11.09.14
✎
15:45
|
пустая строка в качестве имени недопустима
|
|
6
Сергей Д
11.09.14
✎
15:47
|
(2) Перед каким иенем?
(5) Не пустая. А также отсутствуют листы с таким же иенем.
|
|
7
Jaap Vduul
11.09.14
✎
15:55
|
Make sure that:
The name that you type does not exceed 31 characters.
The name does not contain any of the following characters: : \ / ? * [ or ]
You did not leave the name blank.
|
|
8
Ёпрст
гуру
11.09.14
✎
15:57
|
(6) s = "_"+ActiveSheet.Cells(1,9).Value
ну и проверка на спецсимволы
|
|
9
Сергей Д
11.09.14
✎
16:00
|
(7) "Семен Семеныч..." (с) "Бриллиантовая рука".
А ведь вы правы... Там [ и ] были. Убрал - заработало.
Всем большое спасибо за участие.
|
|