Board logo

標題: QueryTables重複查詢,如何覆蓋上一筆查詢 [打印本頁]

作者: tsunamix03    時間: 2015-2-26 15:50     標題: QueryTables重複查詢,如何覆蓋上一筆查詢

各位大大安安
我使用QueryTable作查詢時,
每次查詢一個股價資料
就會把前一個已經查好的股價資料往旁邊擠
到最後儲存格就會用罄
我希望的是每次查詢都使用同一個範圍的儲存格,
意即把上一個查好的股價資料覆蓋(不要往旁邊擠)
我該怎麼修改呢?
程式碼如下
            With ActiveSheet.QueryTables.Add(Connection:="URL;https://tw.finance.yahoo.com/q/q?s=" & stockID, Destination:=Sheets(10).Range("A1"))
                .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 = "6"
                .WebPreFormattedTextToColumns = True
                .WebConsecutiveDelimitersAsOne = True
                .WebSingleBlockTextImport = False
                .WebDisableDateRecognition = False
                .WebDisableRedirections = False
                .Refresh BackgroundQuery:=False
                .Name = .ResultRange.Cells(3, 1)
            End With
作者: joey0415    時間: 2015-2-26 18:49

  1. Sub ex()
  2.         Range("A:L").Clear

  3.         With ActiveSheet.QueryTables.Add(Connection:="URL;https://tw.finance.yahoo.com/q/q?s=" & 1101, Destination:=Range("A1"))
  4.             .WebSelectionType = xlSpecifiedTables
  5.             .WebFormatting = xlWebFormattingNone
  6.             .WebTables = "6"
  7.             .Refresh BackgroundQuery:=False
  8.             .Delete
  9.          End With
  10. End Sub
複製代碼
回復 1# tsunamix03
作者: GBKEE    時間: 2015-3-1 08:15

回復 1# tsunamix03

在程式碼匯入查詢時,指定這屬性的參數值
  1. .RefreshStyle = xlOverwriteCells
複製代碼
VBA 的說明
  1. RefreshStyle 屬性
  2. 請參閱套用至範例特定傳回或者設定指定工作表中列的插入或刪除模式,以提供查詢傳回的記錄集的列數。讀/寫 XlCellInsertionMode。

  3. XlCellInsertionMode 可以是這些 XlCellInsertionMode 常數之一。
  4. xlInsertDeleteCells。插入或者刪除部份列以適應新記錄集所需要的實際列數。
  5. xlOverwriteCells。不在工作表中新增新的儲存格或列。如果溢出則取代周圍的儲存格的內容。
  6. xlInsertEntireRows。新增資料 recordset 中的所有列,並且允許溢出原有區域。工作表中沒有被刪除的儲存格或列。
複製代碼

作者: tsunamix03    時間: 2015-3-19 17:28

感恩樓上兩位高人的解答,已經順利解決問題了:)




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)