Board logo

標題: [發問] 原本執行正常但隔天卻變異常的程式碼 [打印本頁]

作者: smart3135    時間: 2017-2-25 06:31     標題: 原本執行正常但隔天卻變異常的程式碼

本帖最後由 smart3135 於 2017-2-25 06:45 編輯

想請教一下各位前輩,以下的程式碼在寫好當天原本可以正常抓到輸入日期的資料
在程式碼完全沒有變更的情況下,隔天執行時輸入較舊的日期卻只能抓到最新當天的資料
有時甚至還抓不到資料,不知道是我電腦EXCEL版本的問題還是程式碼有問題?可以請高手們幫忙看一下嗎?
非常感謝[attach]26720[/attach]
  1. Option Explicit
  2. Sub 上市外資和投信()
  3.   Dim X, Y, qdate, select2 As String
  4.   Sheets("資料區").Select
  5.   X = InputBox("請輸入月份")
  6.   Y = InputBox("請輸入日期")
  7.   qdate = "106" & "/" & X & "/" & Y
  8.   select2 = "ALLBUT0999"

  9.   With ActiveSheet.QueryTables.Add(Connection:= _
  10.     "URL;http://www.twse.com.tw/ch/trading/fund/T86/T86.php", Destination:=Range( _
  11.     "$A$1"))
  12.     .Name = "證交所三大法人買賣超日報"
  13.     .FieldNames = True
  14.     .RowNumbers = False
  15.     .FillAdjacentFormulas = False
  16.     .PreserveFormatting = False
  17.     .RefreshOnFileOpen = False
  18.     .BackgroundQuery = False
  19.     .RefreshStyle = xlOverwriteCells
  20.     .AdjustColumnWidth = False
  21.     .WebSelectionType = xlSpecifiedTables
  22.     .WebFormatting = xlWebFormattingNone
  23.     .WebTables = "2"
  24.     .PostText = "qdate=" & qdate & "&select2=" & select2
  25.     .WebPreFormattedTextToColumns = True
  26.     .WebConsecutiveDelimitersAsOne = True
  27.     .WebSingleBlockTextImport = False
  28.     .WebDisableDateRecognition = True
  29.     .WebDisableRedirections = False
  30.     .Refresh BackgroundQuery:=False
  31.   End With

  32. End Sub
  33. Sub 上櫃外資買賣超()
  34. '上櫃外資買賣超
  35.     Dim X, Y, mydate As String
  36.     X = InputBox("請輸入月份")
  37.     Y = InputBox("請輸入日期")
  38.     mydate = "106" & "/" & X & "/" & Y
  39.     Sheets("資料區").Select
  40.     With ActiveSheet
  41.         .Cells.Clear
  42.          With .QueryTables.Add(Connection:= _
  43.             "TEXT;http://www.tpex.org.tw/web/stock/3insti/qfii_trading/forgtr_download.php?l=zh-tw&t=D&type=buy&d=mydate&s=0,asc,1" _
  44.                         , Destination:=.Range("$A$1"))
  45.             .TextFileCommaDelimiter = True
  46.             .Refresh BackgroundQuery:=False
  47.             .Delete
  48.         End With
  49.     End With
  50. End Sub
  51. Sub 上櫃投信買賣超()
  52. '上櫃投信買賣超
  53.     Dim X, Y, mydate As String
  54.     X = InputBox("請輸入月份")
  55.     Y = InputBox("請輸入日期")
  56.     mydate = "106" + "/" + "X" + "/" + "Y"
  57.     Sheets("資料區").Select
  58.     Range("a1").Select
  59.     With ActiveSheet
  60.         .Cells.Clear
  61.           With .QueryTables.Add(Connection:= _
  62.             "TEXT;http://www.tpex.org.tw/web/stock/3insti/sitc_trading/sitctr_download.php?l=zh-tw&t=D&type=buy&d=mydate&s=0,asc,1" _
  63.                         , Destination:=.Range("$A$1"))
  64.             .TextFileCommaDelimiter = True
  65.             .Refresh BackgroundQuery:=False
  66.             .Delete
  67.           End With
  68.     End With
  69. End Sub
複製代碼

作者: GBKEE    時間: 2017-3-2 10:24

回復 1# smart3135

qdateˇ的格式有誤
  1.   qdate = "106" & "/" & Format(X, "00") & "/" & Format(Y, "00")
複製代碼
為106/03/01




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