Листы Excel с работающим кодом VB выдают ошибку при открытии новой книги - PullRequest
0 голосов
/ 25 февраля 2019

У меня есть лист Excel с кнопкой запуска и остановки.Если я нажимаю кнопку «Пуск», она начинает получать значения с листа «Цены», пока я не нажму кнопку «Стоп».Работает отлично.Но когда я открываю новый пустой лист Excel, он выдает ошибку «индекс вне диапазона».Моя проблема заключается в том, что сначала Excel должен работать в фоновом режиме, если я нажму кнопку «Пуск» и смогу открыть любое количество других книг.

Я дал ниже часть моего кода, где появляется ошибка.

Sub StartDataUpdate()
    TimerActive = True
    UpdateData
End Sub

Private Sub UpdateData()
    If TimerActive Then

        ConnectDB

        Set rs1 = New ADODB.Recordset
        Dim LocalTime As String
        LocalTime = Format(Now(), "YYYY/MM/DD HH:MM:SS")

        With Sheets("Price")
            For rowCursor = 2 To 10
                 //Code to insert data in database
            Next

        End With

        Set rs1.ActiveConnection = Nothing
        oConn.Close
        RepeatUpdate
    End If
End Sub

Ошибка появляется в строке With Sheets("Price"), так как нижний индекс выходит за пределы диапазона , когда я открываю новый пустой лист Excel.

1 Ответ

0 голосов
/ 25 февраля 2019

Sheets("Price") не всегда устанавливается в рабочую книгу макроса.Попробуйте ThisWorkbook.Sheets("Price") В этом случае он будет смотреть только на рабочую книгу, в которой находится макрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...