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

[µo°Ý] ¦¹vba¨«§¹¡A¾ã­Óexcel¦n¹³lag¤F¡A¤£¾å±o¥i¥H«ç¼Ë­×§ï

¦^´_ 1# cji3cj6xu6
­×§ï¦p¤U
  1. Option Explicit
  2. Sub GGetPrice()
  3.     Dim StartYear, StockNumber As Integer, URL As String, xlMonth As String, R As Integer, R1 As Integer
  4.     StartYear = 2013
  5.     StartYear = DateSerial(StartYear, 1, 0)     '°_©l¤é=>¥h¦~³Ì«á¤@¤Ñ
  6.     StockNumber = 1101                          'ªÑ²¼¥N¸¹
  7.     Sheets(1).Cells.Clear                       '²M°£±ý¦s©ñªº­¶­±
  8.     On Error Resume Next                      '¥~³¡¬d¸ßªººô§}¦³»~·|¦³¿ù»~(¤é´Á¶W¹L)
  9.     Do While Err.Number = 0
  10.         StartYear = DateAdd("M", 1, StartYear)     '°_©l¤éªº¤U¤@­Ó¤ë¤é´Á
  11.             xlMonth = Format(StartYear, "YYYYMM") & "/" & Format(StartYear, "YYYYMM")
  12.             URL = "URL;http://www.twse.com.tw/ch/trading/exchange/STOCK_DAY/genpage/Report" & xlMonth & "_F3_1_8_" & StockNumber & ".php?STK_NO=" & StockNumber & "&myear=" & Format(StartYear, "YYYY") & "&mmon=" & Format(StartYear, "MM")
  13.             With Sheets(2)                     '²M°£§ì¨ú¸ê®Æ¦s©ñªº­¶­±
  14.                 If .QueryTables.Count = 0 Then
  15.                     With .QueryTables.Add(URL, .[A1])
  16.                         .Refresh BackgroundQuery:=False
  17.                     End With
  18.                 End If
  19.                 With .QueryTables(1)
  20.                     .Connection = URL
  21.                     .WebSelectionType = xlSpecifiedTables
  22.                     .WebFormatting = xlWebFormattingNone
  23.                     .WebTables = "8"
  24.                     .WebPreFormattedTextToColumns = False
  25.                     .WebConsecutiveDelimitersAsOne = False
  26.                     .WebSingleBlockTextImport = False
  27.                     .WebDisableDateRecognition = True
  28.                     .WebDisableRedirections = True
  29.                     .Refresh BackgroundQuery:=False
  30.                      With .ResultRange
  31.                         R = Application.CountA(Sheets(1).[A:A])
  32.                         R1 = IIf(R = 0, 3, 4)
  33.                         .Rows(R1).Resize(.Rows.Count - R1 + 1).Copy Sheets(1).Cells(R + 1, 1)
  34.                      End With
  35.             End With
  36.          End With
  37.        Loop
  38.        Sheets(1).Columns.AutoFit
  39.        MsgBox "OK!"
  40. End Sub
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¦^´_ 5# cji3cj6xu6
¤ñ¹ï¤W¥«,¤WÂdªººô§},¨Ì¼Ëµe¸¬Äª,¸Õ¸Õ¬Ý.
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

        ÀR«ä¦Û¦b : ¤H­n¦Û·R¡A¤~¯à·R´¶¤Ñ¤Uªº¤H¡C
ªð¦^¦Cªí ¤W¤@¥DÃD