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

Â^¨ú¾ú¥vªÑ»ù

Â^¨ú¾ú¥vªÑ»ù

²³æÂ^¨úªÑ»ù,Åý¨Ï¥ÎªÌ¥i¥H¿é¤J¦Û¤v©Ò­nªºªÑ²¼¥N½X«á¦Û°Ê¤U¸ü±q2000/1/1¨ì¥Ø«e¦UªÑ¨C¤Ñªº¾ú¥vªÑ»ù

GetStockPrice.rar (64.71 KB)

ªÑ»ù¤U¸ü

The tool supports 2000/1/1~current date
¨C¤äªÑ²¼ªº¤W¥«¤WÂd¤é´Á¤£¤@©w,©Ò¥H¥i¯àÅã¥Üªºªøµu¤£¤@¼Ë,½Ð¦Û¦æ½T»{¦UªÑ²¼¶}©l¤W¥«¤WÂd¤é´Á

TOP

¥»©«³Ì«á¥Ñ white5168 ©ó 2012-5-27 00:48 ½s¿è

À³Æ[²³­n¨D,¶K¥Xµ{¦¡½X,Åwªï¦U¦ì¦h¦h«ü±Ð

¦bSheet1¶Kªº¤º®e
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2.     If Target.Address = "$B$1" Then         '§PÂ_¥Ø«e¨Ï¥ÎªÌ©Ò¿é¤Jªº¦ì¸m¬O§_¦b$B$1,¦pªG¬O,«h±NB1¿é¤Jªº¥N½X¶Ç¦ÜGetStockPrice¼Ò²Õ¤¤,¤Ï¤§¤£§@°Ê§@
  3.     Call GetStockPrice(Range("B1"))         '¶Ç¤JªÑ²¼¥N½X,©I¥sGetStockPrice¼Ò²Õ
  4.     End If
  5. End Sub
½Æ»s¥N½X
¦bModule¿é¤Jªº¤º®e
  1. Sub GetStockPrice(ByVal stockid As String)
  2. '
  3. ' GetStockPrice Macro
  4. ' Amin ¦b 2012/5/6 ¿ý»sªº¥¨¶°

  5.     Call ClearQueryTablesData
  6.    
  7.     '³z¹L "¥~³¡¶×¤J¸ê®Æªº¤èªk" (´N¬O¨Ï¥ÎQueryTablsªº¤èªk) ±N¾ú¥vªÑ»ù±q2000/1/1¨ì¥Ø«e¬°¤îªº¤é´Á,¸g¥Ñ Yahoo finance §ì¦^¨Ó¦s¶iexcel¬¡­¶Ã¯¤¤,¦pªGºô¯¸¸ê®Æ¦³°ÝÃD,§ì¦^¨Óªº¤]·|¬O¿ù»~ªº¸ê®Æ
  8.     With ActiveSheet.QueryTables.Add(Connection:= _
  9.         "TEXT;http://ichart.finance.yahoo.com/table.csv?s=" & stockid & "&a=00&b=4&c=2000&d=" & Month(Date) & "&e=" & Day(Date) & "&f=" & Year(Date) & "&g=d&ignore=.csv" _
  10.         , Destination:=Range("A3"))
  11.         .Name = "stockprice"
  12.         .FieldNames = True
  13.         .RowNumbers = False
  14.         .FillAdjacentFormulas = False
  15.         .PreserveFormatting = True
  16.         .RefreshOnFileOpen = False
  17.         .RefreshStyle = xlOverwriteCells
  18.         .SavePassword = False
  19.         .SaveData = True
  20.         .AdjustColumnWidth = True
  21.         .RefreshPeriod = 0
  22.         .TextFilePromptOnRefresh = False
  23.         .TextFilePlatform = 950
  24.         .TextFileStartRow = 1
  25.         .TextFileParseType = xlDelimited
  26.         .TextFileTextQualifier = xlTextQualifierDoubleQuote
  27.         .TextFileConsecutiveDelimiter = False
  28.         .TextFileTabDelimiter = True
  29.         .TextFileSemicolonDelimiter = False
  30.         .TextFileCommaDelimiter = True
  31.         .TextFileSpaceDelimiter = False
  32.         .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1)
  33.         .TextFileTrailingMinusNumbers = True
  34.         .Refresh BackgroundQuery:=False
  35.     End With
  36. End Sub

  37. Sub ClearQueryTablesData()                          '§PÂ_·í«e¬¡­¶Ã¯¤¤¬O§_¦³«e¤@µ§ªº¸ê®Æ,­Y¦³«h²M°£,¤Ï¤§ª½±µ¤U¸üªÑ»ù
  38.     Dim n As Integer                                                   
  39.     If Range("A4") <> "" Then                       '§PÂ_¥Ø«eªº¬¡­¶Ã¯¬O§_¦³¸ê®Æ¦s¦b, ³o¦æ¥i¥H¦A¼gªº§óÂÔ·V,Åwªï¦U¦ì¦Û¦æ­×§ï
  40.         n = ActiveSheet.Range("A4").End(xlDown).Row '¿ï¨ú¥Ø«e¬¡­¶Ã¯±qA4¦ì¸m¨ì³Ì«á¤@¦æªº½d³ò
  41.         For Each gt In ActiveSheet.QueryTables      '¿ï¨ú¥ÎQueryTables§ì¨úªº¨C¤@¦æ
  42.             gt.Delete                               '±N¨Ï¥ÎQueryTables¤èªk©Ò²£¥Íªº¦æ¶i¦æ§R°£,ÁקKQueryTables¥Î¤[¤F,³y¦¨¨t²Î°ï¿n¤@°ïQueryTablesªº©U§£,¦p¦¹¨t²Î¤~¤£·|ÅܺC(¦U¦ìÀ³¸Ó³£¤]·Pı)
  43.         Next
  44.         ActiveSheet.Range("A4:G" & n).Clear         '²M°£©Ò¿ï¨úªº¸ê®Æ
  45.      End If
  46. End Sub
½Æ»s¥N½X

TOP

À³jsleee­n¨D

Ãö©ó¤j½L¦¨¥æ¶q¥i°Ñ¦Òhttp://forum.twbts.com/thread-6750-1-2.html

TOP

diabo¤j¤j
¦³¯à¤O½Ð¦Û¦æ¼g¥X¨Ó¥Î,¤£­n¦b©ê«èªF©ê«è¦èªº

TOP

        ÀR«ä¦Û¦b : ÀR§¤±`®¦¤v¹L¡B¶¢½Í²ö½×¤H«D¡C
ªð¦^¦Cªí ¤W¤@¥DÃD