我在下载数据时 ,每次都是Destination:= Range("A1"),我希望能每次下载时Range("A1")中的A1能改一下,并且是
上一次下载时的列的末尾,也就是我如何获得上一次下载的列数.谢谢指教
Sub Macro1()
' Macro1 Macro
' 宏由 微软用户 录制,时间: 2009-10-22
    Dim dat As Date
    dat = #10/20/2009#
    Do While dat > #4/1/2008#
    With ActiveSheet.QueryTables.Add(Connection:= _
        "URL;http://www.fx678.com/indexs/ecalendar.asp?date=" & dat, Destination:= _
        Range("A1"))
        .Name = "ecalendar.asp?date=2008-4-3"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .WebSelectionType = xlSpecifiedTables
        .WebFormatting = xlWebFormattingNone
        .WebTables = """GridView1"""
        .WebPreFormattedTextToColumns = True
        .WebConsecutiveDelimitersAsOne = True
        .WebSingleBlockTextImport = False
        .WebDisableDateRecognition = False
        .WebDisableRedirections = False
        .Refresh BackgroundQuery:=False
    End With
    dat = DateAdd("d", -1, dat)
    Loop
End Sub

解决方案 »

  1.   

    顶上去的意思我可以告诉你个思路
    我这里没VB
    你这个"A1"需要换成一个变量
    变量的数值前半部分是变化的,后半部分是1,
    从1-26是A,B,C,.....Z
    从27-52是AA,AB,AC....Az
    从53-78是BA,BB,BC....Bz
    ....
    拼凑好用&连接起来
      

  2.   

    行变化
    Sub Macro1()
    ' Macro1 Macro
    ' 宏由 微软用户 录制,时间: 2009-10-22
        Dim dat As Date
        Dim lngC As Long
        
        dat = #10/20/2009#
        Do While dat > #4/1/2008#
            lngC = lngC + 1
        With ActiveSheet.QueryTables.Add(Connection:= _
            "URL;http://www.fx678.com/indexs/ecalendar.asp?date=" & dat, Destination:= _
            Range("A" & Str(lngC)))
            .Name = "ecalendar.asp?date=2008-4-3"
            .FieldNames = True
            .RowNumbers = False
            .FillAdjacentFormulas = False
            .PreserveFormatting = True
            .RefreshOnFileOpen = False
            .BackgroundQuery = True
            .RefreshStyle = xlInsertDeleteCells
            .SavePassword = False
            .SaveData = True
            .AdjustColumnWidth = True
            .RefreshPeriod = 0
            .WebSelectionType = xlSpecifiedTables
            .WebFormatting = xlWebFormattingNone
            .WebTables = """GridView1"""
            .WebPreFormattedTextToColumns = True
            .WebConsecutiveDelimitersAsOne = True
            .WebSingleBlockTextImport = False
            .WebDisableDateRecognition = False
            .WebDisableRedirections = False
            .Refresh BackgroundQuery:=False
        End With
        dat = DateAdd("d", -1, dat)
        Loop
    End Sub
      

  3.   

    列变化
     
    Sub Macro1()
    ' Macro1 Macro
    ' 宏由 微软用户 录制,时间: 2009-10-22
        Dim dat As Date
        Dim lngC As Long
        
        dat = #10/20/2009#
        Do While dat > #4/1/2008#
            lngC = lngC + 1
        With ActiveSheet.QueryTables.Add(Connection:= _
            "URL;http://www.fx678.com/indexs/ecalendar.asp?date=" & dat, Destination:= _
            Range(Cells(1, lngC), Cells(1, lngC)))
            .Name = "ecalendar.asp?date=2008-4-3"
            .FieldNames = True
            .RowNumbers = False
            .FillAdjacentFormulas = False
            .PreserveFormatting = True
            .RefreshOnFileOpen = False
            .BackgroundQuery = True
            .RefreshStyle = xlInsertDeleteCells
            .SavePassword = False
            .SaveData = True
            .AdjustColumnWidth = True
            .RefreshPeriod = 0
            .WebSelectionType = xlSpecifiedTables
            .WebFormatting = xlWebFormattingNone
            .WebTables = """GridView1"""
            .WebPreFormattedTextToColumns = True
            .WebConsecutiveDelimitersAsOne = True
            .WebSingleBlockTextImport = False
            .WebDisableDateRecognition = False
            .WebDisableRedirections = False
            .Refresh BackgroundQuery:=False
        End With
        dat = DateAdd("d", -1, dat)
        Loop
    End Sub
     
      

  4.   

    .Name = "ecalendar.asp?date=2008-4-3"
    改为
    .Name = "ecalendar.asp?date=" &dat