excel - 在VBA中将字符串插入公式
问题描述
我正在创建一段 VBa 代码,它将在我的工作表中插入一个特定的公式。由于该文件位于共享保管箱中,因此我想使用字符串 thisworkbook.path 创建一个文件路径。虽然我无法在我的公式中使用这个字符串。
需要粘贴的公式是一个 SUMIF 公式,它从我的工作簿中的另一张表中获取数据,尽管当我尝试插入公式时它一直要求文件目录
Sub Monthly_OTB_update()
'
Dim I As Long
Dim J As Integer
Dim H As Integer
Dim A As String
Dim B As String
Dim C As String
Dim D As String
Dim E As String
A = ThisWorkbook.Path
B = "2019"
C = "Monthly OTB 2019"
D = A & B
E = A & C
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Application.DisplayStatusBar = False
'Go to Last used date and select the next cell
Sheets("Monthly OTB 2019").Select
Range("E2").Select
Selection.End(xlToRight).Select
ActiveCell.Offset(0, 1).Select
For I = 1 To 12
'Fill selection with date and move 1 down
ActiveCell.FormulaR1C1 = "=TODAY()"
ActiveCell.Offset(1, 0).Select
'insert formula to retrieve data
ActiveCell.FormulaR1C1 = _
"=SUMIFS("" & D & ""!R4C5:R100000C5,OTB!R4C2:R100000C5,"" & E & ""!RC1)"
我没有包含完整的代码,因为其余的只是重复此处代码中发生的事情。和循环结束 & Sub。
弹出的错误是应用程序或对象定义的错误。
解决方案
当您使用书名或此文件夹内的任何其他路径加入文件夹路径时 - 您需要Application.PathSeparator
用作它们之间的中间字符串。我建议您MsgBox(D)
在将公式分配给单元格之前使用,以便检查您的路径是否正确。
推荐阅读
- javascript - 赛普拉斯包含 if/else 条件中的语句
- javascript - 非法的字符串偏移并且未在 contact-script.php 中显示表单字段
- javascript - 如何从 JavaScript 中的本地目录检索文件名?
- google-chrome-devtools - 无法从开发工具中获取颜色十六进制值
- c# - Microsoft Identity Web:更改重定向 Uri
- python - Jupyter Notebook 在 vpython 中不显示任何输出,并且在重新启动内核后仅显示一次输出,而不是再次显示
- http - 如何在终端中使用命令行将我的 https 更改为 http?
- java - 如果我的验证器需要在验证之前调用数据库,我应该让数据库处理这个验证吗?
- postgresql - 如何解决 Scala 中的 GC 超限问题?
- kubernetes - io.fabric8.kubernetes.client.KubernetesClientException:禁止!配置的服务帐户无权访问