excel - 尝试使用 Morningstar Direct 时出现“运行时错误 1004:应用程序定义或对象定义错误”
问题描述
有问题的公式从 Morningstar Direct 提取基金持有数据。如果我使用 Morningstar UI,它自己生成到我选择的 Excel 单元格的代码如下(一次 1 个基金):
=@MSHOLDING("US52469L6609";"ISIN";"CORR=C, ASCENDING=TRUE, HT=ALL,
WEIGHT=TRUE, FREQ=A, NAME=TRUE, SHOWHT=TRUE, SHOWCOUNTRY=FALSE")
然后可以在不使用 Morningstar UI 的情况下键入或复制该公式到单元格,并将数据拉到工作表中。但是,由于我想为多个(列表)基金执行此操作,因此我为它创建了这个 VBA 宏。我的代码如下:
Public Sub Get_Fund_Holdings()
Dim item
For Each item In Array("US52469L6609", "US64128K8760")
Sheets.Add
ActiveSheet.Name = item
ActiveSheet.Range("A1").Value = "Ticker"
ActiveSheet.Range("B1").Formula = "=@MSHOLDING(""" & item &
""";""ISIN"";""CORR=C, ASCENDING=TRUE, HT=ALL, WEIGHT=TRUE, FREQ=A,
NAME=TRUE, SHOWHT=TRUE, SHOWCOUNTRY=FALSE"")"
ActiveSheet.Range("A2").Value = item
ActiveSheet.Range("A2").Select
Selection.AutoFill Destination:=Range("A2:A" & _
Range("B" & Rows.Count).End(xlUp).Row)
Next item
End Sub
我在代码的“ISIN”部分收到错误消息“预期:语句结束”。知道为什么会这样吗?
(我在项目上有双“”,因为它是一个变量,这就是我认为应该这样做的方式。其他不是我可以更改的公式中的变量。)
编辑:多亏了布赖恩,变量问题已经解决。现在,我在 =@MSHOLDING 公式中收到错误“运行时错误 1004:”。
解决方案
推荐阅读
- javascript - Mask unmask in textfield
- events - Microsoft Graph:获取事件中的日历信息
- r - 如何将 bquote 与 ggplot2 geom_label 结合使用?
- javascript - Bootstrap Validator - RegExp weird behavior
- java - What is the best practise in spring rest for coding Id based and name based API
- c++ - How to check whether rectangle is golden rectangle using Fibonacci and recursion function?
- java - Android libgdx: NullPointerException on SQLiteOpenHelper database
- mysql - 如果 MySQL 存储过程中的条件未正确评估
- excel - Waterfalls in Excel
- java - Map.computeIfPresent() 在 Java 中初始化一个 List