Ошибка выхода индекса VBA из диапазона при попытке открыть файл

#excel #vba

#excel #vba

Вопрос:

Я пытаюсь открыть файл, а затем найти последнюю строку, все работает до этой строки:

Установите SourceSheet = crWorkbook .Рабочие листы («Форма запроса денежных средств»)

Это выдает мне ошибку подстрочного индекса вне диапазона, и я не могу понять, почему…

  Dim filter As String
 Dim caption As String
 Dim crFilename As String
 Dim crWorkbook As Workbook
 Dim crMasterWorkbook As Workbook

 ' make weak assumption that active workbook is the target
 Set crMasterWorkbook = Application.ActiveWorkbook

 With Application.FileDialog(msoFileDialogFilePicker)
 .AllowMultiSelect = False
 .InitialFileName = "*Cash Report*.xlsx"
 .Show
 crFilename = .SelectedItems(1)

 End With

 ' get the cash request workbook
 'caption = "Please Select an input file "
 'crFilename = Application.GetOpenFilename(filter, , caption)

 Set crWorkbook = Application.Workbooks.Open(crFilename, UpdateLinks = False)

 ' copy data from source to target workbook
 Dim targetSheet As Worksheet
 Set targetSheet = crMasterWorkbook.Worksheets("Master Cash Request Log")
 Dim SourceSheet As Worksheet
 Set SourceSheet = crWorkbook.Worksheets("Cash Request Form")

 'Define last row
 target_lastrow = targetSheet.Range("A1").CurrentRegion.Rows.Count
  

Комментарии:

1. В вашей рабочей книге ( crWorkbook ) нет листа "Cash Request Form" — может быть, простая опечатка? Особенно проверьте пробелы.

2. Если это не похоже на опечатку, найдите пробел до или после "Cash Request Form"