excel - 子名称上的 VBA“无效限定符”错误
问题描述
我正处于创建 Excel 工作簿的早期阶段,它允许您使用 VBA 根据工作簿中的客户端数据生成和发送 Outlook 电子邮件。但是,我在 Sub 声明行中收到“Invalid Qualifier”的编译错误。
我的问题代码(来自这里):
'Get file path and put it in the proper cell
Sub GetFilePath()
Dim DialogBox As FileDialog
Dim path As String
Set DialogBox = Application.FileDialog(msoFileDialogFilePicker)
DialogBox.Title = "Select quarterly report for " & Range("A" & ActiveCell.Row) & _
" " & Range("B" & ActiveCell.Row)
DialogBox.Filters.Clear
DialogBox.Show
If DialogBox.SelectedItems.Count = 1 Then
path = DialogBox.SelectedItems(1)
End If
Range("D" & ActiveCell.Row) = path
Range("D").Column.AutoFit
End Sub
这样做的基本要点是让它提示用户选择一个文件,然后将该文件路径放在一个单元格中,以便稍后我可以在 Outlook 窗口中将其用作附件。
这第一次运行正确,但将不再工作,并在 Sub name 行上引发“Invalid Qualifier”错误。
我努力了:
- 在发生冲突时更改子名称
- 清除第一次成功运行输出到的单元格
- 重新启动 Excel
解决方案
有问题的行是:
Range("D").Column.AutoFit
"D"
不是 : 的有效地址Range
应该是"D:D"
。Column
是列号,而不是对整个列的引用。
修理:
Range("D:D").EntireColumn.AutoFit
或者
Columns("D").AutoFit
推荐阅读
- docker - Docker:安装docker时如何解决ubuntu中的公钥错误
- amazon-web-services - 在向 AWS Lambda 函数发出请求时,如何将密钥传递给它?
- c# - 检查网页是否在 Chrome (C#) 中打开
- prometheus - 黑盒导出器响应作为度量标签
- android - ViewPager2 禁用过渡动画
- javascript - Node js不等待完成过程
- gml - XBOX 在插槽 0 中检测到一个游戏手柄,但在 Game Maker Studio 2 中未检测到输入
- ios - AVAudioengine 播放/循环音频,多个按钮
- django - OperationalError 异常值:没有这样的列:registration_employeeregistration.Site_id
- qt - 使用 QGraphicsScene 的 MouseMoveEvent 和 QGraphicsItem 的 HoverEnterEvent