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

ªÑ»ù¥N¸¹©M°_©l¤é´Áªº§ì¨ú

¶W¯Åª©¥D ±z¦n
§Ú¦brun...¨C¤é¦¬½L¸ê®Æ¨º­Ó¥¨¶°...¥X²{µLªk°õ¦æ
¥Î°£¿ù§ä¥X...  .Refresh BackgroundQuery:=False
¨º¬O§_­n§ó§ï¬° true

TOP

¦^´_ 11# GBKEE


    ·PÁÂG¤j,¦¬¤U¬ã¨s,^^
¥Î²³æªº¤ß°µ½ÆÂøªº¨Æ

TOP

¦^´_ 2# yuhuahsiao

Hi Y¤j±z¦n,
          §Ú¨Ï¥Î¿ý»s¥¨¶°,¦ýºô§}Åã¥Ü¤]¬O ActiveSheet.QueryTables.Add(Connection:= _
        "URL;http://www.cnyes.com/twstock/directorholder/1101.htm", Destination:= _
        Range("$A$1"))
¥Hºô§}¨Ó¬Ý,¥u¯à§ó§ïªÑ²¼¥N¸¹,¤ë¥÷¤è­±´NµLªk§ó§ï...
½Ð°Ý§Ú¸Ó¦p¦ó¨Ï¥ÎVBA,¦bÀx¦s®æ¿é¤J¤ë¥÷,´N·|±a¥X¸ê®Æ...½ÐÀ°¦£¸Ñ´b.

ÁÂÁÂ^^
BigDog
¥Î²³æªº¤ß°µ½ÆÂøªº¨Æ

TOP

¥»©«³Ì«á¥Ñ GBKEE ©ó 2016-4-26 10:25 ½s¿è

¦^´_ 9# BigDog
2016/4/26 §ó·s
  1. Option Explicit
  2. Sub ¹d¦ëºô_¸³ºÊ«ùªÑ()
  3.     Dim ie As Object, A As Object, T As Date, i As Integer, c As Integer
  4.     Dim Code As String, xMonth As String
  5.     Code = InputBox("¿é¤JªÑ²¼¥N¸¹ :  ", "ªÑ²¼¥N¸¹", 2303)
  6.     xMonth = InputBox("¿é¤J¦~¤ë :  ", "¦~¤ë", Format(DateAdd("M", -2, Date), "yyyy¦~m¤ë"))
  7.     Set ie = CreateObject("InternetExplorer.Application")
  8.     ie.Navigate "http://www.cnyes.com/twstock/directorholder/" & Code & ".htm"
  9.    '  ie.Visible = True
  10.     Do While ie.Busy Or ie.ReadyState <> 4: DoEvents: Loop
  11.     With ie.Document
  12.          With .getElementById("ctl00_ContentPlaceHolder1_DropDownList1")
  13.                 .Value = xMonth
  14.                 .fireEvent ("onchange")
  15.         End With
  16.         Do While ie.Busy Or ie.ReadyState <> 4
  17.              DoEvents
  18.         Loop
  19.         On Error Resume Next
  20.         Do
  21.                 DoEvents
  22.                 Set A = .getelementsbytagname("table")(1)
  23.                 If Not A Is Nothing Then
  24.                         If InStr(A.innertext, Format(xMonth, "YYYYM")) Then
  25.                         If Err Then
  26.                            Debug.Print Err
  27.                             Err.Clear
  28.                         Else
  29.                             Exit Do
  30.                         End If
  31.                         End If
  32.                 End If
  33.         Loop
  34.         On Error GoTo 0
  35.         Cells.Clear
  36.         Cells(1, "A").Resize(, 4) = Array("ªÑ²¼¥N¸¹", Code, "¤ë¥÷", xMonth)
  37.         For i = 0 To A.Rows.Length - 1
  38.             For c = 0 To A.Rows(i).Cells.Length - 1
  39.                 Cells(i + 2, c + 1) = A.Rows(i).Cells(c).innertext
  40.             Next
  41.         Next
  42.     End With
  43.       ie.Quit
  44.     MsgBox "OK"
  45. End Sub
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¦^´_ 1# BigDog


    ³o­ÓÀ³¸ÓµLªk¥Îiqy §ì¨ú
­n¥ÎVBA

TOP

¦p¦ó¨Ï¥Î.iqy§ì¦¹ºô§}¸ê®Æ

½Ð°Ý¤j®a,

        ¤p§Ì¦b¦¹ºô§} http://www.cnyes.com/twstock/directorholder/1101.htm  ,·Q§ì¸³ºÊ«ùªÑ¾lÃB¸ê®Æ,
¦ý¨C­Ó¤ëªº¸ê®Æ¬O¥Î¤U©Ô¦¡¿ï³æ¿ï¨ú,ºô§}³£¤£·|ÅÜ°Ê,½Ð°ÝÀ³¸Ó¦p¦ó¤~¯à§Q¥Î.iqy§ó§ï°Ñ¼Æ§ì¸ê®Æ...


ÁÂÁ¦U¦ì
BigDog
¥Î²³æªº¤ß°µ½ÆÂøªº¨Æ

TOP

¦^´_ 7# gelai01000001
¸Õ¸Õ¬Ý
  1. Option Explicit
  2. Sub ¤U¸üºô¯¸¸ê®Æ()
  3.     Dim Startmonth As String, Startday As String, xDate As Date, Msg As Boolean, Sh As Worksheet
  4.     Dim Wb As Workbook, Ws As Worksheet, Stock  As Range
  5.     On Error GoTo EX                        'µ{¦¡°õ¦æ¤¤¦³¿ù»~®É¸õ¨ì EX: Ä~Äò°õ¦æµ{¦¡
  6.     xDate = Date                            '·í¤é
  7.     Set Sh = Workbooks.Add.Sheets(1)        '·s¬¡­¶Ã¯ªº²Ä¤@­Ó¤u§@ªí
  8. EX:
  9.     If Err.Number <> 0 Or Msg = True Then   '·í¤é(©|¥¼¦³¸ê®Æ:¿ù»~) ©Î ¥ð¥«
  10.         xDate = xDate - 1                   '©¹«á°h¤@¤Ñ¤@ª½¨ì¶}¥«. ( °²¦p¥ð¥«¶W¹L1¤Ñ¥H¤W(2,3,4,5,6,¬K¸`9¤Ñ)
  11.         Err.Clear
  12.         Msg = False
  13.     End If
  14.     Startday = Format(xDate, "YYYYMMDD")
  15.     Startmonth = Format(xDate, "YYYYMM")
  16.         '¤U¸üºô¯¸ªººô§}
  17.     With Sh.QueryTables.Add(Connection:="URL;http://www.twse.com.tw/ch/trading/exchange/MI_INDEX/genpage/Report" & Startmonth & "/A112" & Startday & "ALLBUT0999_1.php?select2=ALLBUT0999&chk_date=" & Format(xDate, "E/MM/DD"), Destination:=Range("A3"))
  18.         .RefreshStyle = xlOverwriteCells                                '§ì¨úºô­¶ªº²Ä10­Óªí®æ§@¬°¶×¤J¸ê®Æ
  19.         .WebTables = "10"
  20.         .Refresh BackgroundQuery:=False                                 '·í¤é(©|¥¼¦³¸ê®Æ:¿ù»~)
  21.         If Application.CountA(Sh.QueryTables(1).ResultRange) = 0 Then   '¥ð¥« ¨S¦³¸ê®Æ
  22.             Msg = True
  23.             GoTo EX
  24.         End If
  25.     End With
  26.     For Each Wb In Workbooks
  27.         For Each Ws In Wb.Sheets
  28.            Set Stock = Sh.[A:A].Find(Ws.Name, lookat:=xlWhole)
  29.             If Not Stock Is Nothing Then
  30.                 Stock.Offset(, 2).Resize(, 14).Copy
  31.                 With Ws
  32.                     With .Range("a" & .Rows.Count).End(xlUp).Offset(1)
  33.                         .Cells = xDate
  34.                         .Offset(, 1).PasteSpecial xlPasteValuesAndNumberFormats
  35.                     End With
  36.                 End With
  37.             End If
  38.         Next
  39.     Next
  40.     Sh.Parent.Close False           'Ãö³¬: ·s¬¡­¶Ã¯ªº²Ä¤@­Ó¤u§@ªí
  41. End Sub
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¦p¦ó±N¤U¸üªºªÑ¥«¨C¤é½L«á¦æ±¡(»s§@¦¨¦UªÑªº¾ú¥vªÑ»ù¸ê®Æ)

·Ð½Ð¦U¦ì°ª¤â±M®a¸Ñ´b¡AÁÂÁÂ!
½Ð°Ý¦³¿ìªk±N¤U¦Cµ{½Xªº¥[¥H­×§ï¡A§â¨C¤é¦UªÑªº½L«á¦æ±¡©Ò±oªº¸ê®ÆÂà´«¦¨(¦UªÑªº¾ú¥v¸ê®Æ)¡C
  1. Sub ¤U¸üºô¯¸¸ê®Æ()
  2.     Dim Startmonth As String, Startday As String, xDate As Date, Msg As Boolean, Sh As Worksheet
  3.     On Error GoTo EX                        'µ{¦¡°õ¦æ¤¤¦³¿ù»~®É¸õ¨ì EX: Ä~Äò°õ¦æµ{¦¡
  4.     xDate = Date                            '·í¤é
  5.     Set Sh = ActiveSheet                    '«ü©w¤u§@ªí:¦¹µ{¦¡¦b¥ô¦ó¼Ò²Õ¤¤¬Ò¥i¥Î
  6. EX:
  7.     If Err.Number <> 0 Or Msg = True Then   '·í¤é(©|¥¼¦³¸ê®Æ:¿ù»~) ©Î ¥ð¥«
  8.         [color=Red]xDate = xDate - 1    (À³§ï¬°xDate = Date - 1)[/color]     °²¦p¥ð¥«¶W¹L1¤Ñ¥H¤W(2,3,4,5,6,¬K¸`9¤Ñ)¡A¤S¦p¦ó­×§ï©O?         
  9.         Err.Clear
  10.         Msg = False
  11.     End If
  12.     Sh.UsedRange.Clear                       '²M²z¤u§@ªí¤w¨Ï¥Îªº½d³ò
  13.     Startday = Format(xDate, "YYYYMMDD")
  14.     Startmonth = Format(xDate, "YYYYMM")
  15.         '¤U¸üºô¯¸ªººô§}
  16.     With Sh.QueryTables.Add(Connection:="URL;http://www.twse.com.tw/ch/trading/exchange/MI_INDEX/genpage/Report" & Startmonth & "/A112" & Startday & "ALLBUT0999_1.php?select2=ALLBUT0999&chk_date=" & Format(xDate, "E/MM/DD"), Destination:=Range("A3"))
  17.         .RefreshStyle = xlOverwriteCells                            '§ì¨úºô­¶ªº²Ä10­Óªí®æ§@¬°¶×¤J¸ê®Æ
  18.         .WebTables = "10"
  19.         .Refresh BackgroundQuery:=False                             '·í¤é(©|¥¼¦³¸ê®Æ:¿ù»~)
  20.         If Application.CountA(Sh.QueryTables(1).ResultRange) = 0 Then  '¥ð¥« ¨S¦³¸ê®Æ
  21.             Msg = True
  22.             GoTo EX
  23.         End If
  24.     End With
  25.     With Sh.UsedRange
  26.         .Font.Size = 12
  27.         .EntireColumn.AutoFit
  28.     End With
  29. End Sub
½Æ»s¥N½X
¦]¬°§Ú¤w¦³¤U¸ü¦UªÑ¾ú¥vªÑ»ùªº¸ê®Æµ{¦¡©M¸ê®Æ¡A¥B¨Ì¥N½X¤ÀÃþ¦¨¦h­Ó¬¡­¶Ã¯¨Ò¦p¡G
workbook(1.xls)¦³worksheet(1102)¡Bworksheet(1103).....µ¥¡C1¬¡­¶Ã¯¤¤¦³¥N½X¡A²Ä¤@­Ó¼Æ¦r¦³[1]ªº¦h­Ó¤u§@ªí¡C
workbook(2.xls)¦³worksheet(2102)¡Bworksheet(2103).....µ¥¡C2¬¡­¶Ã¯¤¤¦³¥N½X¡A²Ä¤@­Ó¼Æ¦r¦³[2]ªº¦h­Ó¤u§@ªí¡C
......
......
workbook(9.xls)¦³worksheet(9102)¡Bworksheet(9103).....µ¥¡C9¬¡­¶Ã¯¤¤¦³¥N½X¡A²Ä¤@­Ó¼Æ¦r¦³[9]ªº¦h­Ó¤u§@ªí¡C
©Ò¥H·Q½Ð°Ý¦³¨S¦³§ó²«K§Ö³tªº¤èªk¡CÁÂÁ¦U¦ì±M®a«e½úªº©âªÅ«ü¾É¡C

TOP

¦^´_ 5# edwardlay
2# ¬Ý­n´X¦~¥i­×§ï -3  ¬Ý¬Ý
  1. 12.        .[b1] = DateAdd("yyyy", -3, d_End)  '¤U¸ü3¦~¾ú¥vªÑ»ùªº¸ê®Æ
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

½Ð°Ý¤j¤j¤U¸ü®É¶¡¥i¥HÂX¤j¨ì¦hªø?:)

TOP

        ÀR«ä¦Û¦b : °µ¦n¨Æ¤£¯à¤Ö§Ú¤@¤H¡A°µÃa¨Æ¤£¯à¦h§Ú¤@¤H¡C
ªð¦^¦Cªí ¤W¤@¥DÃD