#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"