2015-12-21 73 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

相关问题