Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Нераспознанная ошибка в программе / 1 сообщений из 1, страница 1 из 1
20.02.2009, 07:02
    #35828742
Azeke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нераспознанная ошибка в программе
Привет
При выполнении макроса на VBA в MSExcel где сравниваются по ячейкам на идентичность две таблицы и результат садится в третью итоговую таблицу, выходит при выполнении строки
Set xlBook2 = GetObject(Path2File & CStr(t) & ".xls")
ошибка:
авторRun-time error '-2147467259(80004005)'

Automation error
Неопознанная ошибка

Вот сама программа:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
Dim i As Integer, j As Integer
Dim xlApp As New Excel.Application
Dim xlBook As Excel.Workbook, xlBook1 As Excel.Workbook, xlBook2 As Excel.Workbook
Dim xlSheet As Excel.Worksheet, xlSheet1 As Excel.Worksheet, xlSheet2 As Excel.Worksheet

Const PathResFile As String = "C:\Сравнение справок\"
Const Path1File As String = PathResFile & "Новые таблицы\"
Const Path2File As String = PathResFile & "Эталон\"

Sub Макрос1()
'
' Макрос1 Макрос
' Макрос записан 18.02.2009 (Azeke)
'
    Dim t As Integer, ii As Integer, jj As Integer
    Dim n As String
    
    Set xlBook = GetObject(PathResFile & "\Проверка.xls")
    For t =  1  To  22 
        Set xlSheet = xlBook.Sheets(CStr(t))
        Select Case t
            Case  2 ,  4 ,  7 ,  19 : n = "Лист1"
            Case  20 : n = "Нормообразующие показатели"
            Case Else: n = "Страница 1"
        End Select
        ii = Choose(t,  12 ,  7 ,  4 ,  10 ,  6 ,  8 ,  7 ,  4 ,  8 ,  8 ,  8 ,  10 ,  6 ,  8 ,  7 ,  4 ,  13 ,  7 ,  9 ,  4 ,  6 ,  5 )
        jj = Choose(t,  4 ,  3 ,  2 ,  2 ,  6 ,  6 ,  2 ,  2 ,  5 ,  4 ,  5 ,  3 ,  5 ,  3 ,  4 ,  3 ,  3 ,  3 ,  3 ,  2 ,  9 ,  7 )
        
        Set xlBook1 = GetObject(Path1File & CStr(t) & ".xls")
        Set xlSheet1 = xlBook1.Sheets(n)
        Set xlBook2 = GetObject(Path2File & CStr(t) & ".xls")    'ошибка выходит при выполнении этой стоки
        Set xlSheet2 = xlBook2.Sheets(n)
    
        Call Sravnenie(ii, jj)

        Set xlSheet1 = Nothing: Set xlSheet2 = Nothing
        xlBook1.Close: xlBook2.Close
        Set xlBook1 = Nothing: Set xlBook2 = Nothing
    Next
    MsgBox "Все !"
End Sub


Private Sub Sravnenie(iRow As Integer, jCol As Integer)
    j = jCol
    Do While (xlSheet1.Cells(iRow -  1 , j) <> "")
        i = iRow
        Do While (xlSheet1.Cells(i, jCol -  1 ) <> "")
            If xlSheet1.Cells(i, j) = "" And xlSheet2.Cells(i, j) = "" Then
                xlSheet.Cells(i, j) = CDbl(xlSheet1.Cells(i, j)) - CDbl(xlSheet2.Cells(i, j))
            Else
                xlSheet.Cells(i, j) = CDbl(Replace(xlSheet1.Cells(i, j), ".", ",")) - CDbl(Replace(xlSheet2.Cells(i, j), ".", ","))
            End If
            i = i +  1 
        Loop
        j = j +  1 
    Loop
End Sub
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Нераспознанная ошибка в программе / 1 сообщений из 1, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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