-1

リンク「 http://www.advfn.com/stock-market/NASDAQ/NVDA/financials?btn=annual_reports&mode=company_data 」の Web クエリを使用して、財務諸表を Excel にインポートすることができました。インポート プロセスをマクロに記録し、vba コードを少し修正して実行しました。ここで、セル A1 にある株価情報に基づいて、インポートされた財務諸表を更新したいと思います。ただし、添え字が範囲外というエラーが表示され、その理由がわかりません。以下のコードを表示し、可能であれば洞察を提供してください。

Sub finstate()
'
' finstate Macro
'
'
  With ActiveSheet.QueryTables.Add(Connection:= _
    "URL;http://www.advfn.com/stock-market/NASDAQ/" & Worksheets("Input").Range("A1").Value & "/financials?btn=annual_reports&mode=company_data" _
    , Destination:=Range("B2"))
    .Name = "financials?btn=annual_reports&mode=company_data"
    .FieldNames = True
    .RowNumbers = False
    .FillAdjacentFormulas = False
    .PreserveFormatting = False
    .RefreshOnFileOpen = False
    .BackgroundQuery = True
    .RefreshStyle = xlInsertDeleteCells
    .SavePassword = False
    .SaveData = True
    .AdjustColumnWidth = True
    .RefreshPeriod = 0
    .WebSelectionType = xlSpecifiedTables
    .WebFormatting = xlWebFormattingAll
    .WebTables = "6"
    .WebPreFormattedTextToColumns = True
    .WebConsecutiveDelimitersAsOne = True
    .WebSingleBlockTextImport = False
    .WebDisableDateRecognition = False
    .WebDisableRedirections = False
    .Refresh BackgroundQuery:=False
End With
End Sub

どうもありがとう!

4

1 に答える 1

0

入力シートからティッカー値を読み取っているように見えますが、アクティブシートに書き込もうとしています。その可能性以外の原因は、私にとってはうまく機能しているように見えました。

現在のワークシートに変数とテストを追加しました。with の最初の行も少し変更されました。

  sTicker = Range("A1").Value
  If sTicker = "" Then
    MsgBox "No value to look up"
    Exit Sub
  End If

  With ActiveSheet.QueryTables.Add(Connection:= _
    "URL;http://www.advfn.com/stock-market/NASDAQ/" & sTicker & "/financials?btn=annual_reports&mode=company_data" _
    , Destination:=Range("B2"))
于 2016-09-11T22:45:17.860 に答える