powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Ошибка при обращении к открытым рабочим книгам в Excel 2007
7 сообщений из 7, страница 1 из 1
Ошибка при обращении к открытым рабочим книгам в Excel 2007
    #39132693
Olga_p_123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть небольшая программа (макрос) в Excel.
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
[/SRC]
Sub spravka()

n = Range(Workbooks("реестр").Worksheets(1).Cells(4, 1), Workbooks("реестр").Worksheets(1).Cells(4, 1)).CurrentRegion.Rows.Count

MsgBox (n)

i = 15
Do While Workbooks("решения").Worksheets(1).Cells(i, 2) <> ""
For j = 5 To n + 4
If Workbooks("реестр").Worksheets(1).Cells(j, 5) = Workbooks("решения").Worksheets(1).Cells(i, 2) Then
Workbooks("реестр").Worksheets(1).Cells(j, 5).Interior.ColorIndex = 6
Workbooks("справка").Worksheets(1).Cells(5, 2) = Workbooks("реестр").Worksheets(1).Cells(j, 5)
...
Workbooks("справка").Worksheets(1).PrintOut 1, 1
End If
Next j
i = i + 1
Loop


End Sub
[SRC vba]


Программа берет данные из одной открытой рабочей книги и вставляет в другую открытую рабочую книгу. На 2003 офисе программа работает нормально, а под Excel 2007 выдается ошибка:
Subscript out of range
ругается на строку программы:
n = Range(Workbooks("реестр").Worksheets(1).Cells(4, 1), Workbooks("реестр").Worksheets(1).Cells(4, 1)).CurrentRegion.Rows.Count
Если эту строку удаляешь, то ругается на следующую строку, где программа обращается не к текущей рабочей книге

похоже, что он не видит открытые книги и отказывается с ними работать. Как решить эту проблему?
...
Рейтинг: 0 / 0
Ошибка при обращении к открытым рабочим книгам в Excel 2007
    #39132694
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Каким образом открываются книги?
Вероятно они открываются в разных процессах экселя.
...
Рейтинг: 0 / 0
Ошибка при обращении к открытым рабочим книгам в Excel 2007
    #39132727
Olga_p_123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как ни открывай один черт ошибка
...
Рейтинг: 0 / 0
Ошибка при обращении к открытым рабочим книгам в Excel 2007
    #39132748
MrVoid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Olga_p_123,

Наверное, так?

Код: vbnet
1.
2.
3.
With Workbooks("реестр").Worksheets(1)
      n = .Range(.Cells(4, 1), .Cells(4, 1)).CurrentRegion.Rows.Count
End With
...
Рейтинг: 0 / 0
Ошибка при обращении к открытым рабочим книгам в Excel 2007
    #39132945
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Olga_p_123,

Код: vbnet
1.
Workbooks("решения")


не совсем правильно. Если не указывать расширение файла, то такое обращение приведет к ошибке на ПК, на котором в настройках ОС Windows(Панель управления -Параметры папок -вкладка Вид -Скрывать расширения для зарегистрированных типов файлов) указано скрывать расширения.
Поэтому правильно будет так:
Код: vbnet
1.
Workbooks("решения.xls")


естественно, расширение надо указать именно этой книги(может это .xlsx, .xlsm и т.д.)
...
Рейтинг: 0 / 0
Ошибка при обращении к открытым рабочим книгам в Excel 2007
    #39132948
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
The_Pristуказано скрывать расширенияОчепятка :)
к ошибке приведет если не указано скрывать расширения
...
Рейтинг: 0 / 0
Ошибка при обращении к открытым рабочим книгам в Excel 2007
    #39134023
Olga_p_123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
The_Prist, большое спасибо. Поставила птицу и все получилось.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Ошибка при обращении к открытым рабочим книгам в Excel 2007
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]