2015-12-21 69 views
-2

我試圖使用VBA從td標籤(<td><font class="s1">52.84</font>)中獲取單個單元格,並將其發佈到Excel工作表上。將HTML單元格數據拉入Excel工作表

查看HTML下面剪斷:

<table cellpadding="0" cellspacing="0" border="0" width="100%"> 
    <tbody> 
     <tr> 
      <td bgcolor="#999999"> 
       <table cellpadding="1" cellspacing="1" border="0" width="100%"> 
        <tbody> 
         <tr bgcolor="#cccccc" align="right" height="20"> 
          <td><font class="s1">Price</font></td> 
          <td><font class="s1">Change&nbsp;(%)</font><img src="/design/images/0.gif" width="4" height="1" border="0/"></td> 
          <td><font class="s1">52&nbsp;wk&nbsp;High</font><img src="/design/images/0.gif" width="4" height="1" border="0/"></td> 
          <td><font class="s1">52&nbsp;wk&nbsp;Low</font><img src="/design/images/0.gif" width="4" height="1" border="0/"></td> 
          <td><font class="s1">Stock volume </font><a href="javascript:openHelp(14)" alt="Open Help"><img src="/design/images/ico/q_zn.gif" width="8" height="10" border="0" alt="Open Help"></a><img src="/design/images/0.gif" width="4" height="1" border="0/"></td> 
          <td><font class="s1">1WK Avg Opt Volume</font><a href="javascript:openHelp('avg_1wk_ov')" alt="Open Help"><img src="/design/images/ico/q_zn.gif" width="8" height="10" border="0" alt="Open Help"></a><img src="/design/images/0.gif" width="3" height="1" border="0/"></td> 
          <td><font class="s1">1WK Avg Opt OI</font><a href="javascript:openHelp('avg_1wk_oi')" alt="Open Help"><img src="/design/images/ico/q_zn.gif" width="8" height="10" border="0" alt="Open Help"></a><img src="/design/images/0.gif" width="3" height="1" border="0/"></td> 
          <td><font class="s1">EOD Opt Volume</font><a href="javascript:openHelp('eod_ov')" alt="Open Help"><img src="/design/images/ico/q_zn.gif" width="8" height="10" border="0" alt="Open Help"></a><img src="/design/images/0.gif" width="3" height="1" border="0/"></td> 
          <td><font class="s1">EOD Opt OI</font><a href="javascript:openHelp('eod_oi')" alt="Open Help"><img src="/design/images/ico/q_zn.gif" width="8" height="10" border="0" alt="Open Help"></a><img src="/design/images/0.gif" width="3" height="1" border="0/"></td> 
         </tr> 
         <tr bgcolor="#FFFFFF" align="right" height="20"> *** 
          <td><font class="s1">52.84</font>*** </td> 
          <td><font class="s1"><nobr>&nbsp;&nbsp;<img src="/design/images/ico/arrow_bottom.gif" alt="-" border="0" align="absmiddle" width="7" height="9/">&nbsp;-1.06&nbsp;(-1.97%)</nobr></font></td> 
          <td><font class="s1"><nobr>&nbsp;&nbsp;60.34&nbsp;07/22/2015</nobr></font></td> 
          <td><font class="s1"><nobr>&nbsp;&nbsp;46.95&nbsp;01/30/2015</nobr></font></td> 
          <td><font size="-2" class="s1">17,092,380</font></td> 
          <td><font size="-2" class="s1">87,610</font></td> 
          <td><font size="-2" class="s1">1,820,400</font></td> 
          <td><font size="-2" class="s1">54,450</font></td> 
          <td><font size="-2" class="s1">1,858,857</font></td> 
         </tr> 
        </tbody> 
       </table> 
      </td> 
     </tr> 
    </tbody> 
</table> 
+1

好的。你有[嘗試過任何東西](http://stackoverflow.com/help/how-to-ask)? – BruceWayne

+0

使用「代碼」按鈕「{}」格式化您的HTML - 並添加*換行符* –

+0

源示例http://www.ivolatility.com/options.j?period=12&chart=2&ticker=WYNN%3ANASDAQ&R=1&printable = 1 – omegastripes

回答

0

既然你沒有張貼的URL,這只是一個猜測。 。 。

Sub Test() Dim IE As Object 

Set IE = CreateObject("InternetExplorer.Application") 
With IE 
    .Visible = True 
    .Navigate "http://www.marketwatch.com/investing/stock/aapl/analystestimates" ' should work for any URL 
    Do Until .ReadyState = 4: DoEvents: Loop 

     x = .document.body.innertext 
     y = InStr(1, x, "Average Target Price:") 
     Z = Mid(x, y, 6) 

     Range("A1").Value = Trim(Z) 

     .Quit 
    End With 
End Sub 
+0

認爲y需要被「平均目標價格:」 - 「Mid(x,y + 21,6)」文本的長度抵消 - 否則這將總是獲取文本「Averag」 – barrowc

相關問題