首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >子名称上的VBA“无效限定符”错误

子名称上的VBA“无效限定符”错误
EN

Stack Overflow用户
提问于 2021-07-22 17:43:52
回答 1查看 162关注 0票数 0

我正处于创建Excel工作簿的早期阶段,它将允许您使用VBA生成和发送基于工作簿中客户端数据的Outlook电子邮件。但是,我在Sub声明行中得到了“无效限定符”的编译错误。

我的问题代码(来源于此)

代码语言:javascript
运行
复制
'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窗口中的附件。

这将在第一次正确运行,但将不再工作,并抛出“无效限定符”错误的子名称行。

调试器中突出显示的问题行

我试过:

  • 在发生冲突时更改子名称
  • 清除第一个成功运行输出到的单元格。
  • 重新启动Excel
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-22 17:50:08

有问题的一行是:

代码语言:javascript
运行
复制
Range("D").Column.AutoFit
  • "D"不是Range的有效地址:应该是"D:D"
  • Column是列号,而不是对整个列的引用。

修复:

代码语言:javascript
运行
复制
Range("D:D").EntireColumn.AutoFit

代码语言:javascript
运行
复制
Columns("D").AutoFit
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68489364

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档