ªð¦^¦Cªí ¤W¤@¥DÃD µo©«

[µo°Ý] ¦³¿ìªk±N¨C¤é¸ê®Æ·|¦¨¤@¥÷¹À

¥»©«³Ì«á¥Ñ GBKEE ©ó 2013-9-20 11:47 ½s¿è

¦^´_ 1# pupai
¦p¦ó¨C¤é¸ê®Æ¶×¦¨¤@¥÷??
  1. §Aªººô§}¤Ö¤F STK_NO (ªÑ²¼¥N¸¹)
  2. 'qurl = qurl & "&a=" & Month(StartDate) - 1 & "&b=" & Day(StartDate) & _
  3.             "&c=" & Year(StartDate) & "&d=" & Month(EndDate) - 1 & "&e=" & _
  4.             Day(EndDate) & "&f=" & Year(EndDate) & "&g=" & Range("E3") & "&q=q&y=0&z=" & _
  5.             Symbol & "&x=.csv"
  6.             '*** ¤W­±ªººô§}qurl ¬°¦ó­n a= b= c= d= e= ³o¨Ç  ******
  7.              qurl = "http://www.twse.com.tw/ch/trading/exchange/BWIBBU/BWIBBU.php?myear=2013&mmon=9&STK_NO=2371"         

  8.             
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¥»©«³Ì«á¥Ñ GBKEE ©ó 2013-9-20 12:27 ½s¿è

¦^´_ 3# pupai
½Ð¸Ô¬Ý¹Ï¥Üªº¿ù»~«H®§,¥h¬Ý¬ÝÀx¦s®æªº½d³ò,¤£ª¾§A­n¦p¦ó¨C¤é¸ê®Æ¶×¦¨¤@¥÷??
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¦^´_ 6# pupai
  1. Option Explicit
  2. Sub GetData()
  3.     Dim DataSheet As Worksheet, Sh As Worksheet, Msg As Boolean
  4.     Dim EndDate As Date, StartDate As Date, i As Integer, AR, xR As Long
  5.     Dim Symbol As String, Qur As String
  6.     Set DataSheet = Sheets("Sheet1")
  7.     With DataSheet
  8.         StartDate = .[b1]
  9.         EndDate = .[b2]
  10.         Symbol = .[b3]
  11.         .Range("D1").CurrentRegion = ""
  12.     End With
  13.     '¥»¸ê®Æ¦Û¥Á°ê94¦~09¤ë01¤é¶}©l´£¨Ñ *** °£¿ù  ***
  14.     If StartDate < #9/1/2005# Or EndDate < #9/1/2005# Or Len(Symbol) <= 3 Or StartDate > EndDate Or EndDate > Date Then
  15.         MsgBox "¼Æ¾Ú¦³»~" & IIf(StartDate < #9/1/2005#, vbLf & "StartDate :¤é´Á ¤p©ó 94¦~09¤ë01¤é  ", "") & _
  16.         IIf(EndDate < #9/1/2005#, vbLf & "EndDate :¤é´Á ¤p©ó 94¦~09¤ë01¤é  ", "") & _
  17.         IIf(Len(Symbol) <= 3, vbLf & "Symbol : ªÑ²¼¥N¸¹ ", "") & _
  18.         IIf(StartDate > EndDate, vbLf & "StartDate > EndDate", "") & _
  19.         IIf(EndDate > Date, vbLf & " EndDate >" & Date, "")
  20.         Exit Sub
  21.     End If
  22.     '*********************************************
  23.     Set Sh = Sheets.Add(Sheets(1))
  24.     DataSheet.Activate
  25.     Do While DateSerial(Year(StartDate), Month(StartDate), 1) <= EndDate
  26.         Qur = "http://www.twse.com.tw/ch/trading/exchange/BWIBBU/BWIBBU.php?myear=" & Format(StartDate, "yyyy") & "&mmon=" & Format(StartDate, "m") & "&STK_NO=" & Symbol
  27.         With Sh
  28.             If .QueryTables.Count = 0 Then
  29.                 .QueryTables.Add "URL;" & Qur, .[A1]
  30.             Else
  31.                 .QueryTables(1).Connection = "URL;" & Qur
  32.                 Msg = True
  33.             End If
  34.            With .QueryTables(1)
  35.                 .WebFormatting = xlWebFormattingNone
  36.                 .WebSelectionType = xlSpecifiedTables
  37.                 .WebDisableDateRecognition = True
  38.                 .WebTables = "8"
  39.                  .Refresh BackgroundQuery:=False
  40.                  If Application.CountA(.ResultRange) = 0 Then Msg = False
  41.                  If Msg Then
  42.                     AR = .ResultRange.Offset(2)
  43.                  Else
  44.                     AR = .ResultRange
  45.                  End If
  46.                  With DataSheet
  47.                     xR = Application.CountA(.[d:d]) + 1
  48.                     .Cells(xR, "D").Resize(UBound(AR, 1), UBound(AR, 2)) = AR
  49.                  End With
  50.            End With
  51.            End With
  52.         StartDate = DateAdd("m", 1, StartDate)
  53.     Loop
  54.     Application.DisplayAlerts = False
  55.     Sh.Delete
  56.     Application.DisplayAlerts = True
  57. End Sub
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¦^´_ 8# pupai
¨S¦³°Ú!
¹Ï¥Ü¬° °õ¦æ 7# µ{¦¡½X ªºµ²ªG


·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¦^´_ 11# pupai
³o³£¥i¥H¥Î¥¨¶°¿ý»s¸Õ¸Õ¬Ý,½m²ß¤~·|¶i¨Bªº.
************************************
1.·s¼W¤@¤u§@ªí,±N¤§©R¦W¬°ªÑ²¼¥N¸¹.         
2±N¤U¸üªº¸ê®Æ,½Æ»s¨ì,¦¹·s¤u§@ªí
*************************************
1.­ìµ{¦¡¤¤¦³·s¼W¤u§@ªí,¥i±N¤§©R¦W¬°ªÑ²¼¥N¸¹.
2,±N¤U¸üªº¸ê®Æ,½Æ»s¨ì,¦¹·s¼W¤u§@ªí
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¦^´_ 13# pupai
§A»¡:§Ú¦³¥Î¥¨¶°§¹¦¨(¦pªþ¥ó),¦³¶Ü?­þ¦³§¹¦¨.



  1. Option Explicit
  2. Sub GetData()
  3.     Dim DataSheet As Worksheet, Sh As Worksheet, Msg As Boolean
  4.     Dim EndDate As Date, StartDate As Date, AR, xR As Long
  5.     Dim Symbol As Variant, Qur As String
  6.     Set DataSheet = Sheets("¥N½X")
  7.     With DataSheet
  8.         StartDate = .[C1]
  9.         EndDate = .[C2]
  10.         '¥»¸ê®Æ¦Û¥Á°ê94¦~09¤ë01¤é¶}©l´£¨Ñ *** °£¿ù  ***
  11.         If StartDate < #9/1/2005# Or EndDate < #9/1/2005# Or StartDate > EndDate Or EndDate > Date Then
  12.             MsgBox "¼Æ¾Ú¦³»~" & IIf(StartDate < #9/1/2005#, vbLf & "StartDate :¤é´Á ¤p©ó 94¦~09¤ë01¤é  ", "") & _
  13.             IIf(EndDate < #9/1/2005#, vbLf & "EndDate :¤é´Á ¤p©ó 94¦~09¤ë01¤é  ", "") & _
  14.             IIf(StartDate > EndDate, vbLf & "StartDate > EndDate", "") & _
  15.             IIf(EndDate > Date, vbLf & " EndDate >" & Date, "")
  16.             Exit Sub
  17.         End If
  18.     '*********************************************
  19.         Application.DisplayAlerts = False
  20.         For Each Sh In Sheets
  21.             If Sh.Name <> DataSheet.Name Then Sh.Delete    '§R°£¤£¥²­nªº¤u§@
  22.         Next
  23.         For Each Symbol In .Range("A1", .Range("A" & .Rows.Count).End(xlUp))  'ªÑ²¼ªº°j°é
  24.             Msg = False
  25.             StartDate = .[C1]                           '°j°é»Ý­«·s¦^¨ì­ì¥»ªº StartDate¤é´Á
  26.             Set Sh = Sheets.Add(, Sheets(Sheets.Count)) '·s¼Wªº¤u§@ªí¦ì©ó¬¡­¶Ã¯³Ì«á­±(Sheets.Count)
  27.             DataSheet.Activate
  28.             
  29.             Do While DateSerial(Year(StartDate), Month(StartDate), 1) <= EndDate
  30.                 Qur = "http://www.twse.com.tw/ch/trading/exchange/BWIBBU/BWIBBU.php?myear=" & Format(StartDate, "yyyy") & "&mmon=" & Format(StartDate, "m") & "&STK_NO=" & Symbol
  31.                 With Sh       '·s¼Wªº¤u§@ªí
  32.                     If .QueryTables.Count = 0 Then                      'Web¬d¸ß
  33.                         .QueryTables.Add "URL;" & Qur, .[M1]            'Web¬d¸ß¸ê®Æ¦bMÄæ
  34.                     Else
  35.                         .QueryTables(1).Connection = "URL;" & Qur
  36.                         Msg = True
  37.                     End If
  38.                     With .QueryTables(1)
  39.                         .WebFormatting = xlWebFormattingNone
  40.                         .WebSelectionType = xlSpecifiedTables
  41.                         .WebDisableDateRecognition = True
  42.                         .WebTables = "8"
  43.                         .Refresh BackgroundQuery:=False
  44.                         If Application.CountA(.ResultRange) = 0 Then Msg = False
  45.                         If Msg Then
  46.                             AR = .ResultRange.Offset(2)
  47.                         Else
  48.                             AR = .ResultRange
  49.                         End If
  50.                         xR = Application.CountA(.Parent.[d:d]) + 1                         '.Parent :Web¬d¸ßªº¤÷¼h
  51.                         .Parent.Cells(xR, "A").Resize(UBound(AR, 1), UBound(AR, 2)) = AR   '¸ê®Æ½Æ»s¨ì ·s¼W¤u§@ªíªºAÄæ
  52.                     End With
  53.                 End With
  54.                 StartDate = DateAdd("m", 1, StartDate)   '¤é´Á + 1­Ó¤ë
  55.             Loop
  56.             With Sh
  57.                 .Name = Symbol                                 '¥HªÑ²¼©R¦W
  58.                 .QueryTables(1).ResultRange = ""               '²M°£Web¬d¸ßªº¸ê®Æ
  59.                  .Names(.QueryTables(1).Name).Delete           'Web¬d¸ßªº¦WºÙ
  60.             End With
  61.         Next
  62.     End With
  63.     Application.DisplayAlerts = True
  64. End Sub
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¦^´_ 16# pupai
§AÁÙ¬O¨S·d²M·¡CurrentRegion¬O¤°»ò,¶·¦h¬Ývbaªº»¡©ú.
  1.   .Range("D1").CurrentRegion = ""                                                               '³]©wD1Äæ¦ì­È
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¥»©«³Ì«á¥Ñ GBKEE ©ó 2013-10-23 16:18 ½s¿è

¦^´_ 19# pupai
  1. Option Explicit
  2. Sub GetData()
  3.     Dim DataSheet As Worksheet, Sh As Worksheet
  4.     Dim EndDate As Date, StartDate As Date, AR, xR As Long
  5.     Dim Symbol As Variant, Qur As String
  6.     Set DataSheet = Sheets("¥N½X")
  7.     With DataSheet
  8.         StartDate = .[C1]
  9.         EndDate = .[C2]
  10.         '¥»¸ê®Æ¦Û¥Á°ê94¦~09¤ë01¤é¶}©l´£¨Ñ *** °£¿ù  ***
  11.         If StartDate < #9/1/2005# Or EndDate < #9/1/2005# Or StartDate > EndDate Or EndDate > Date Then
  12.             MsgBox "¼Æ¾Ú¦³»~" & IIf(StartDate < #9/1/2005#, vbLf & "StartDate :¤é´Á ¤p©ó 94¦~09¤ë01¤é  ", "") & _
  13.             IIf(EndDate < #9/1/2005#, vbLf & "EndDate :¤é´Á ¤p©ó 94¦~09¤ë01¤é  ", "") & _
  14.             IIf(StartDate > EndDate, vbLf & "StartDate > EndDate", "") & _
  15.             IIf(EndDate > Date, vbLf & " EndDate >" & Date, "")
  16.             Exit Sub
  17.         End If
  18.     '*********************************************
  19.         Application.DisplayAlerts = False
  20.         For Each Sh In Sheets
  21.             If Sh.Name <> DataSheet.Name Then Sh.Delete    '§R°£¤£¥²­nªº¤u§@
  22.         Next
  23.         For Each Symbol In .Range("A2", .Range("A" & .Rows.Count).End(xlUp))  'ªÑ²¼ªº°j°é
  24.             StartDate = .[C1]                           '°j°é»Ý­«·s¦^¨ì­ì¥»ªº StartDate¤é´Á
  25.             Set Sh = Sheets.Add(, Sheets(Sheets.Count)) '·s¼Wªº¤u§@ªí¦ì©ó¬¡­¶Ã¯³Ì«á­±(Sheets.Count)
  26.             DataSheet.Activate
  27.             Do While DateSerial(Year(StartDate), Month(StartDate), 1) <= EndDate
  28.                 Qur = "http://www.twse.com.tw/ch/trading/exchange/BWIBBU/BWIBBU.php?myear=" & Format(StartDate, "yyyy") & "&mmon=" & Format(StartDate, "m") & "&STK_NO=" & Symbol
  29.                 With Sh       '·s¼Wªº¤u§@ªí
  30.                     If .QueryTables.Count = 0 Then                      'Web¬d¸ß
  31.                         .QueryTables.Add "URL;" & Qur, .[M1]            'Web¬d¸ß¸ê®Æ¦bMÄæ
  32.                     Else
  33.                         .QueryTables(1).Connection = "URL;" & Qur
  34.                     End If
  35.                     With .QueryTables(1)
  36.                         .WebFormatting = xlWebFormattingNone
  37.                         .WebSelectionType = xlSpecifiedTables
  38.                         .WebDisableDateRecognition = True
  39.                         .WebTables = "7,8"
  40.                         .Refresh BackgroundQuery:=False
  41.                          If Application.CountA(.ResultRange) > 1 Then
  42.                             AR = .ResultRange.Offset(4)
  43.                             If Application.CountA(.Parent.[a:a]) = 0 Then AR = .ResultRange.Offset(3)
  44.                             xR = Application.CountA(.Parent.[a:a]) + 1                         '.Parent :Web¬d¸ßªº¤÷¼h
  45.                             .Parent.Cells(xR, "A").Resize(UBound(AR, 1), UBound(AR, 2)) = AR   '¸ê®Æ½Æ»s¨ì ·s¼W¤u§@ªíªºAÄæ
  46.                         End If
  47.                     End With
  48.                     
  49.                 End With

  50.                 StartDate = DateAdd("m", 1, StartDate)   '¤é´Á + 1­Ó¤ë
  51.             Loop
  52.             With Sh
  53.                 .Name = Symbol                                 '¥HªÑ²¼©R¦W
  54.                 '------------------------
  55.                 .Activate
  56.                 .Range("E3").Select
  57.                 ActiveCell.FormulaR1C1 = _
  58.                 "=IF(ISERROR(DATEVALUE(1911+MID(RC[-4],1,FIND(""/"",RC[-4])-1) & MID(RC[-4],FIND(""/"",RC[-4]),LEN(RC[-4])))),"""",DATEVALUE(1911+MID(RC[-4],1,FIND(""/"",RC[-4])-1) & MID(RC[-4],FIND(""/"",RC[-4]),LEN(RC[-4]))))"
  59.                 .Range("E3").Select
  60.                 Selection.Copy
  61.                 .Columns("E:E").Select
  62.                 ActiveSheet.Paste
  63.                 .Columns("E:E").Select
  64.                 Selection.NumberFormatLocal = "[$-404]e/m/d;@"
  65.                 '------------------------
  66.                 .QueryTables(1).ResultRange = ""               '²M°£Web¬d¸ßªº¸ê®Æ
  67.                  .Names(.QueryTables(1).Name).Delete           'Web¬d¸ßªº¦WºÙ
  68.             End With
  69.         Next
  70.     End With
  71.     Application.DisplayAlerts = True
  72. End Sub
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¦^´_ 23# pupai
À³¸Ó¬O¦b³oÄ~Äòµo°Ýªº

ªþÀɸոլݹï§_
text.rar (16.57 KB)
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

        ÀR«ä¦Û¦b : ¤H¥Í³Ì¤jªº¦¨´N¬O±q¥¢±Ñ¤¤¯¸°_¨Ó¡C
ªð¦^¦Cªí ¤W¤@¥DÃD