Excel VBA создает ошибку Subscript с помощью цикла for - PullRequest
0 голосов
/ 05 декабря 2018

Я новичок в VBA, но пытаюсь.

Я пытаюсь, когда вы нажимаете кнопку на листе, чтобы открыть другой файл Excel, получить строки из него и скопировать его вмой текущий файл Excel.Я хочу, чтобы это было автоматизировано, поэтому вам нужно всего лишь нажать кнопку 1.

Private Sub CommandButton1_Click()
    Dim src As Workbook
    Set src = Workbooks.Open("C:\Users\gregg\Downloads\download.xls", True, True)

    Dim iTotalRows As Integer
    iTotalRows = src.Worksheets("download").Range("B1:B" & Cells(Rows.Count, "B").End(xlUp).Row).Rows.Count

    Dim iCnt As Integer
    For iCnt = 1 To iTotalRows
        Worksheets("Elszamolas").Range("B" & iCnt).Formula = src.Worksheets("download").Range("B" & iCnt).Formula
    Next iCnt
End Sub

Это то, что у меня сейчас.Я хочу скопировать из файла скачать лист загрузки в файл напи Эльсамолас лист Эльсамолас.Когда я запускаю сценарий, я получаю «Subscript out of range» «Ошибка времени выполнения 9».

1 Ответ

0 голосов
/ 05 декабря 2018

У вас может быть проблема с неквалифицированными диапазонами, которая была исправлена ​​в приведенном ниже коде.Пожалуйста, дайте это попробовать!Если это не сработает, я предполагаю, что у вас есть небольшое несоответствие между именем листа, записанным в коде, и именем листа, которое фактически существует в книге.

Код также обновлен, чтобы затемнить переменные таблицы для удобства чтения, используйте более стандартные вычисления последней строки (LR) и имя цикла (i).

Option Explicit

Private Sub CommandButton1_Click()

Dim src As Workbook: Set src = Workbooks.Open("C:\Users\gregg\Downloads\download.xls", True, True)
Dim DL As Worksheet: Set DL = src.Sheets("download")
Dim EZ As Worksheet: Set EZ = src.Sheets("Elszamolas")

Dim i As Long

For i = 1 To DL.Range("B" & DL.Rows.Count).End(xlUp).Row
    EZ.Range("B" & i).Formula = DL.Range("B" & i).Formula
Next i

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