excel - 尝试打开文件的 VBA 下标超出范围错误
问题描述
我试图打开一个文件,然后找到最后一行,一切正常,直到这一行:
Set SourceSheet = crWorkbook.Worksheets("现金申请表")
它给了我一个下标超出范围的错误,我不知道为什么......
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
解决方案
推荐阅读
- python-3.x - python - 如何在文件名之后插入特定文本以重命名它?
- download - 使用 download.file() 从谷歌驱动器下载 .rds
- electron - Electron - 使用 showOpenDialog 时抛出不允许加载本地资源
- bash - 在远程机器上以并行 bash 脚本运行多个脚本
- javascript - 如何在使用电话号码注册期间将姓名和电子邮件添加到 Firebase 用户帐户?
- flutter - 颤动树中的递归小部件
- filesystems - Laravel 7:如何将上传的文件保存到另一台机器/服务器中?
- lua - 为什么这个 lua 模式匹配不删除 '.xml' 包括 .?
- mysql - 如果行中的其他值满足特定条件,则使用 SQL 聚合数据
- .net - 控制台应用程序的配置转换未使用 Azure Pipelines 部署到 Azure 应用服务