返回列表 上一主題 發帖

[發問] 無法匯入PCHOME 股市資料

[發問] 無法匯入PCHOME 股市資料

我想要匯入PCHOME 股市資料 如下卻都是空白 或是從"資料"->從WEB 卻得到 此WEB查詢沒有資料傳回 的錯誤訊息 有高手可以解惑嗎

    With ActiveSheet.QueryTables.Add(Connection:= _
        "URL;http://pchome.syspower.com.tw/stock/sto2/ock2/sid2330.html", Destination:=Range( _
        "A1"))

回復 1# chairmen100
試試看
  1. Option Explicit
  2. Sub Pchome_財務比率()
  3.     Dim A As Object, i As Integer, C As Variant
  4.     With CreateObject("InternetExplorer.application")
  5.         .Navigate "http://pchome.syspower.com.tw/stock/sto2/ock2/sid2330.html"
  6.         .Visible = True
  7.         Do While .Busy Or .ReadyState <> 4
  8.              DoEvents
  9.         Loop
  10.         Set A = .Document.getelementsbytagname("table")(4)
  11.         With ActiveSheet
  12.             .Cells.Clear
  13.             For i = 1 To A.Rows.Length - 1
  14.                 For C = 0 To A.Rows(i).Cells.Length - 1
  15.                    .Cells(i, C + 1) = A.Rows(i).Cells(C).innertext
  16.                 Next
  17.             Next
  18.             With .UsedRange
  19.                 .Columns(.Columns.Count).SpecialCells(xlCellTypeConstants).Offset(, -9).Delete xlShiftToLeft
  20.             End With
  21.        End With
  22.        .Quit
  23.     End With
  24.     MsgBox "OK"
  25. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 2# GBKEE


   感謝G大 結果符合期望

TOP

GBKEE超版對查詢股票程式很厲害,如果能整理成專輯應該可以造福很多人。
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

回復  chairmen100
試試看
GBKEE 發表於 2013-9-27 17:08



    真是造福大家~感謝
市場取決於信心.
交易順利

TOP

請教GBKEE大大:
以下的網頁有圖,又該如何處理?(其實只要數字資料就可以了),麻煩您有空看一下,謝謝。
http://pchome.syspower.com.tw/stock/sto0/ock2/sid1319.html

TOP

回復 6# tajen
試試看
  1. Option Explicit
  2. Sub Pchome_價量分布()
  3.     Dim A As Object, i As Integer, C As Variant, Sh As Worksheet, Stock As String
  4.     Do
  5.         Stock = InputBox("輸入股票代號", "股票代號", 2303)
  6.     Loop Until Len(Stock) >= 4
  7.     Set Sh = ActiveSheet                   '可指定工作表
  8.     With CreateObject("InternetExplorer.application")
  9.         .Navigate "http://pchome.syspower.com.tw/stock/sto0/ock2/sid" & Stock & ".html"
  10.         .Visible = True
  11.         Do While .Busy Or .ReadyState <> 4
  12.              DoEvents
  13.         Loop
  14.         Sh.Cells.Clear
  15.         Set A = .Document.getelementsbytagname("table")(0)
  16.         For i = 0 To A.Rows.Length - 1
  17.             For C = 0 To A.Rows(i).Cells.Length - 1
  18.                 ActiveSheet.Cells(i + 1, C + 1) = A.Rows(i).Cells(C).innertext
  19.             Next
  20.         Next
  21.         Set A = .Document.getelementbyid("content")
  22.         For i = 0 To A.Rows.Length - 1
  23.             For C = 0 To A.Rows(i).Cells.Length - 1
  24.                 ActiveSheet.Cells(i + 4, C + 1) = A.Rows(i).Cells(C).innertext
  25.             Next
  26.         Next
  27.         Sh.UsedRange.EntireColumn.AutoFit
  28.        .Quit
  29.     End With
  30.     MsgBox "OK"
  31. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 7# GBKEE

很強大,GBKEE大大. 套用在工作上, 非常有效率. 要好好參詳

TOP

不好意思,現在才來看回覆,沒想到GBKEE大大早就寫好了,測試的結果:完美無缺。
太感謝GBKEE大大,感恩!
您實在太厲害了,我要好好來研究一下你的這二篇code,希望以後都可自己把程式寫出來。

想請教另外一個問題:  如何定位網頁中有Tab的位置
例如: http://www.cnyes.com/twstock/quote/6121.htm 中的第三個Tab(價量圖)的資料

因為若直接用excel匯入的方式,都只會抓到第一個Tab(最佳五檔)的資料,
可否麻煩您有空看一下,謝謝!!!

TOP

下面是網頁的表格,改成7就行了

Sub Macro2()
'
    With ActiveSheet.QueryTables.Add(Connection:= _
        "URL;http://traderoom.cnyes.com/tse/quote2FB.aspx?code=6121", Destination:= _
        Range("A1"))
        .Name = "quote2FB.aspx?code=6121"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .WebSelectionType = xlSpecifiedTables
        .WebFormatting = xlWebFormattingNone
        .WebTables = "7"
        .WebPreFormattedTextToColumns = True
        .WebConsecutiveDelimitersAsOne = True
        .WebSingleBlockTextImport = False
        .WebDisableDateRecognition = False
        .WebDisableRedirections = False
        .Refresh BackgroundQuery:=False
    End With
End Sub

TOP

        靜思自在 : 受人點水之恩,須當湧泉以報。
返回列表 上一主題