powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Ошибка Method 'range' of object'_Global failed
6 сообщений из 6, страница 1 из 1
Ошибка Method 'range' of object'_Global failed
    #33624342
strizzz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор Dim rs_ssp2 As ADODB.Recordset
Set rs_ssp2 = New ADODB.Recordset
rs_ssp2.ActiveConnection = cnn
rs_ssp2.CursorLocation = adUseClient
cmd.CommandType = adCmdStoredProc
cmd.CommandText = "sp_ssp2"
rs_ssp2.Open cmd, , adOpenDynamic, adLockOptimistic
Set objExcel = New Excel.Application
objExcel.Visible = True
objExcel.Workbooks.Open ("c:\Templates\ssp2.xls")
objExcel.Cells.ClearContents
For iCols = 0 To rs_ssp2.Fields.Count - 1
objExcel.Cells(1, iCols + 1).Value = rs_ssp2.Fields(iCols).Name
Next
objExcel.Range(objExcel.Cells(1, 1), _
objExcel.Cells(1, rs.Fields.Count)).Font.Bold = True
objExcel.Range("A2").CopyFromRecordset rs_ssp2
Range("A1:Z1").Select
Selection.AutoFilter
Rows("2:2").Select
ActiveWindow.FreezePanes = True
rs_ssp2.Close

При первом запуске все нормально, но когда запускаешь второй раз(не перегружая приложение), то выскакивает эта ошибка в выделенной строке. Что посоветуете? Пробовал к objExcell метод . Close, говорит, что нет такого.

И еще где можно посмотреть методы и свойства елселевскокго объекта, так как в привычном выпадающем списке его нет.
...
Рейтинг: 0 / 0
Ошибка Method 'range' of object'_Global failed
    #33624408
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
каждый установленный set вконце модуля уничтожай
Код: plaintext
1.
Set rs_ssp2 = Nothing
Set objExcel = Nothing
и не используй select
Код: plaintext
Range("A1:Z1").AutoFilter
а ругается на какой строке?
если сдесь
Код: plaintext
Selection.AutoFilter
то надо проверять стоит уже фильтр или нет
...
Рейтинг: 0 / 0
Ошибка Method 'range' of object'_Global failed
    #33624423
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проверка
Код: plaintext
1.
If Not Worksheets("Sheet1").AutoFilterMode Then _
    Worksheets("Sheet1").Range("A1:Z1").AutoFilter
...
Рейтинг: 0 / 0
Ошибка Method 'range' of object'_Global failed
    #33624598
strizzz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vkodor

Set objExcel = Nothing не помогает.

vkodorа ругается на какой строке?

Range("A1:Z1").Select
...
Рейтинг: 0 / 0
Ошибка Method 'range' of object'_Global failed
    #33624979
sergeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Использование просто Range("A1:Z1").Select предполагает, что активен лист, а при втором запуске, может быть, в этот момент активна какая-нибудь кнопка.
...
Рейтинг: 0 / 0
Ошибка Method 'range' of object'_Global failed
    #33625414
Я недавно отвечал на похожий вопрос.

Вместо

Код: plaintext
1.
2.
Range("A1:Z1").Select
Selection.AutoFilter
Rows("2:2").Select

Нужно

Код: plaintext
1.
objExcel.Workbooks( 1 ).Worksheets( 1 ).Range("A1:Z1").Select
objExcel.Selection.AutoFilter

И вообще сделай нормально и не пользуйся свойством Selection.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
    Dim xlApp As Excel.Application
    Dim xlBook As Excel.Workbook
    Dim xlSheet As Excel.Worksheet
    
    Set xlApp = CreateObject("Excel.Application")
    Set xlBook = objExcel.Workbooks.Open("c:\Templates\ssp2.xls")
    Set xlSheet = xlBook.Worksheets("Sheet1")
    xlApp.Visible 

    '...
    
    xlSheet.Range("A1:Z1").AutoFilter

Вот статейка .
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Ошибка Method 'range' of object'_Global failed
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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