excel - 公式中的变量工作簿名称
问题描述
我正在尝试编写一个代码,该代码采用变量工作簿名称(前面已声明)并将其输入到将被粘贴到单元格中的公式中。
如果我只是将工作簿写入其中,我已经达到了公式工作的程度,并且我有工作簿路径的变量声明工作正常,我只是无法弄清楚将变量放入公式代码的格式。
'''Spreadsheet opening and variable declaration
strFileToOpen = Application.GetOpenFilename _
(Title:="Select an updated Inventory Report", _
FileFilter:="Excel Files *.xls* (*.xls*),")
If strFileToOpen = False Then
'Displaying a message if file not choosedn in the above step
MsgBox "No file selected.", vbExclamation, "Sorry!"
'And existing from the procedure
Exit Sub
Else
End If
Workbooks.Open Filename:=strFileToOpen
Set InvRpt = ActiveWorkbook
InvRptName = ActiveWorkbook.FullName
Set InvSht = InvRpt.Worksheets("ALL")
'''Formula insert
ActiveCell.Formula = "=IF(ISERROR(GETPIVOTDATA(""Sec QTY Sum"", 'InvRptName'!$A$4,""Alias"",""" & y & """)),0,GETPIVOTDATA(""Sec QTY Sum"", 'InvRptName'!$A$4,""Alias"",""" & y & """))"
最终结果将是此代码完全像这样工作,但使用变量而不是工作簿/工作表名称:
ActiveCell.Formula = "=IF(ISERROR(GETPIVOTDATA(""Sec QTY Sum"", '[8-14-19 AM INVENTORY.xls]Sheet2'!$A$4,""Alias"",""" & y & """)),0,GETPIVOTDATA(""Sec QTY Sum"", '[8-14-19 AM INVENTORY.xls]Sheet2'!$A$4,""Alias"",""" & y & """))"
解决方案
在遇到问题的行中放置一个断点总是有帮助的,然后使用中间窗口找出问题所在。例如;
- 在您有 ActiveCell.Formula = 的最后一行放置一个断点
- 运行代码
- 在中间窗口类型中
?"=IF(ISERROR(GETPIVOTDATA(""Sec QTY Sum"", 'InvRptName'!$A$4,""Alias"",""" & y & """)),0,GETPIVOTDATA(""Sec QTY Sum"", 'InvRptName'!$A$4,""Alias"",""" & y & """))"
- 笔记; 这 ?指示要查看返回值的中间窗口。
- 如果编译正常,您应该会看到一个结果字符串,看看它是否符合您的预期。我猜你的结果将包括文本'InvRptName'你期望'[8-14-19 AM INVENTORY.xls]Sheet2'。
要获得'[8-14-19 AM INVENTORY.xls]Sheet2'!$A$4尝试使用;
?"'[" & ActiveWorkbook.Name & "]" & ActiveSheet.Name & "'!$A$4"
另一个热门提示;
- 在您的代码中使用
Debug.Print "add your messages here or a variable " & InvRptName
以输出调试消息。 - 在执行通知期间使用中间寡妇修复变量
InvRptName = "'[" & ActiveWorkbook.Name & "]" & ActiveSheet.Name & "'!$A$4"
我排除了?这次。
推荐阅读
- android - 使用 Robolectric 测试 TextView 行数
- java - 我无法使用 Firebase 存储编辑封面图片和个人资料图片。我的程序有什么问题?
- swift - 如何在没有百分比编码的情况下在 Swift URL 中包含重音字符?
- iteration - Dymola 初始化迭代变量
- html - 具有水平滚动和固定单元格宽度的 html 表格
- python - Python箭头时区解析
- android - 如何在 2020 年将服务对象传递给活动
- java - 如何将用户当前位置(纬度、经度和地址)附加到 android 中相机捕获的每个图像
- .net - 在钥匙圈中找不到钥匙。无法验证令牌
- css - Chrome 扩展程序 - 在某些网站上阻止显示“web_accessible_resources”