使用VBA将表格中的一列从CSV超链接提取到Excel

时间:2016-08-04 20:20:26

标签: excel vba excel-vba csv

我正在尝试从此超链接https://www.cboe.org/publish/restrictionsall/cboerestrictedseries.csv中提取opt_class列,并使用VBA导入到Excel。我没有VBA的经验所以有什么帮助!

这是我到目前为止所拥有的。当它运行时,它将所有数据放入excel中的1个单元格

子测试()     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"

1 个答案:

答案 0 :(得分:-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