Код VBA не запускается, ошибка при определении рабочей книги и рабочей таблицы - PullRequest
0 голосов
/ 06 февраля 2020

Мне нужно решение проблем.

Я пытаюсь запустить следующий код, но я всегда получаю сообщение «Ошибка времени выполнения 9: нижний индекс выходит за пределы диапазона.».

Проблема заключается в следующей строке: Set source = Workbooks (fileName) .Sheets (2)

Sub TesteNum()
Dim appExcel As Application
Dim objWorkbook As Workbook
Dim i, k, n, userAns As Integer
Dim timeCount, timeTotal As Double
Dim source, target As Worksheets

'On Error GoTo ErrorHandle

If IsEmpty(pathFolder) = True Then
    Call GetFilePath
    Else
    userAns = MsgBox("Encontrado caminho do ficheiro, quer selecionar outro ficheiro?", vbYesNo + vbQuestion, "Empty Sheet")
    If userAns = vbYes Then
        Call GetFilePath
    Else
    End If
End If

'create new excel application object
Set appExcel = New Application

'set the applications visible property to false
appExcel.Visible = True

'open the workbook with data
Set objWorkbook = appExcel.Workbooks.Open(pathFolder)

Set source = Workbooks(fileName).Sheets(2)
Set target = ActiveWorkbook.Sheets(1)
'numRowsImport = Worksheets("NewRawData").Range("A2", Range("A2").End(xlDown)).Rows.Count

numRowsImport = source.Range("A" & source.Rows.Count).End(xlUp).Row


For k = 3 To numRowsImport
    timeCount = source.Cells(k, 9).Value
    timeTotal = timeTotal + timeCount
Next k

'MsgBox "O valor total é " & Format(timeTotal, "h:mm"), vbOKOnly, "Caminho do ficheiro"

target.Range("U11").Value = timeTotal

'close the workbooks
objWorkbook.Close

'close the application
appExcel.Quit

MsgBox "O valor total é " & timeTotal, vbOKOnly, "Caminho do ficheiro"



'ErrorHandle:

'MsgBox "Erro. Contacte o administrador."

End Sub

Можете ли вы, ребята, помочь мне?

Спасибо.

1 Ответ

0 голосов
/ 06 февраля 2020

ваше объявление

Dim source, target As Worksheets

не объявляет «источник» как рабочий лист. Он объявляет источник как вариант и цель как рабочий лист. Отдельные декларации.

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