excel - 如何在 VBA 中为单元格公式使用多个变量
问题描述
我正在尝试使用多个变量来控制要输入到某个单元格的公式。我的代码是:
Sub test()
Dim a As String, b As String, c As String
With ThisWorkbook
a = .Sheets("Share").Cells(2, 21).Address()
b = .Sheets("Share").Cells(8, 21).Address(RowAbsolute:=False)
c = .Sheets("Share").Cells(8, 23).Address(ColumnAbsolute:=False)
MsgBox a '$U$2
MsgBox b '$U8
MsgBox c 'W$8
.Sheets("Share").Cells(8, 23).Formula = "=SUMIFS($E8:" & b & ",$E$2:" & a & "," & c& ")"
'=SUMIFS($E8:$U8,$E$2:$U$2,W$4)
End With
End Sub
但它一直给我这个错误:
编译错误:语法错误。
有谁知道为什么?我在网上搜索了一些主题,但没有找到明确的解决方案。
解决方案
您需要在此行中c
与以下内容之间有一个空格:&
.Sheets("Share").Cells(8, 23).Formula = "=SUMIFS($E8:" & b & ",$E$2:" & a & "," & c & ")"
当您留下空格时,如 中c&
,编译器将 误解&
为标识符类型字符,而不是连接运算符。
推荐阅读
- asp.net - 将单独的 ReactJS 客户端前端应用程序与 ASP.NET Core 后端 API 合并?
- android - 如何从 Play 商店中删除应用程序?如果它被删除,它会从已经安装的Mobile中删除吗?
- google-cloud-platform - git push 后谷歌函数源没有刷新
- php - 为什么我们需要返回一个 json 对象?
- c# - 以编程方式预填充幻灯片以在 PowerPoint 的打印对话框中打印特定幻灯片
- python - 当我运行此代码时,(打印)功能不起作用
- c++ - libusb_open 在 jni android 中返回 LIBUSB_ERROR_ACCESS
- https - 无法为自签名证书生成 server.csr
- rest - 调用 PowerBI REST API 时出现错误“需要管理员批准”
- gradle - 尽管编译错误,为什么 IntelliJ 会启动我的 Kotlin Gradle 程序