2016-08-04 20 views
-4

Ich versuche, die opt_class-Spalte von diesem Hyperlink https://www.cboe.org/publish/restrictionsall/cboerestrictedseries.csv zu extrahieren und mit VBA zu Excel zu importieren. Ich habe keine Erfahrung mit VBA, also hilft alles!Extrahiere eine Spalte in einer Tabelle von einem CSV-Hyperlink nach Excel mit VBA

Das ist was ich bisher habe. Wenn dies ausgeführt wird, legt sie alle Daten in 1-Zelle in Excel

Sub test() Dim oXMLHTTP As Object Dim sPageHTML As String Dim sURL As String

sURL = "https://www.cboe.org/publish/restrictionsall/cboerestrictedseries.csv" 

Set oXMLHTTP = CreateObject("MSXML2.ServerXMLHTTP") 
oXMLHTTP.Open "GET", sURL, False 
oXMLHTTP.send 
sPageHTML = oXMLHTTP.responseText 

ThisWorkbook.Sheets(1).Cells(1, 1) = sPageHTML 

MsgBox "Completed" 

Antwort

-1
Sub dataImport() 

     Dim wbImport  As Workbook 
     Dim wksImport  As Worksheet 
     Dim rngFind   As Range 

     '/ Open the CSV 
     Set wbImport = Workbooks.Open("https://www.cboe.org/publish/restrictionsall/cboerestrictedseries.csv") 
     Set wksImport = wbImport.Worksheets(1) 

     '/ Remove date stamp 
     wksImport.Rows(1).EntireRow.Delete 

     '/ Search for OPT_CLASS header 
     Set rngFind = wksImport.UsedRange.Cells.Find("OPT_CLASS") 

     If Not rngFind Is Nothing Then 
      '/ Found it 
      '/ Copy and paste to column A in Sheet1 of your macro workbook 
      rngFind.Resize(rngFind.End(xlDown).Row).Copy ThisWorkbook.Worksheets("Sheet1").Cells(1, 1) 
      Application.CutCopyMode = False 

      '/Close the CSV file 
      wbImport.Close False 

     Else 
      '/ Didn't find it. 
      MsgBox "No such header" 
     End If 

    End Sub 
+0

das gut aussieht. Wenn ich dies jedoch ausführe, erhalte ich einen Laufzeitfehler '91', der besagt, dass die Objektvariable oder die Blockvariable nicht gesetzt ist. Ich denke, es ist die "set rngFind = wksImport.usedRange.cells.Find (" OPT_CLASS ) "Zeile. Wie behebe ich das? – aefu1116

+0

ersetzen Sheet1 mit tatsächlichen Blattnamen in Ihrer Arbeitsmappe. – cyboashu

+0

das ist der Blattname in meiner Arbeitsmappe Sind irgendwelche anderen möglichen Variablen nicht gesetzt? – aefu1116