私は、HTMLテーブルからセルを関数を使用してExcelセルに抽出しようとしていました。テーブルは次のようなものです:IDなしのExcelシートセルにHTMLテーブルセルを挿入
| 1Q | 2Q | 3Q |
income | 23 | 34 | 22 |
expenses | 11 | 19 | 10 |
.
.
.
私はidで要素を得ることができないので、要素ごとに2つのループを作成しました。要素を見つけることができますコード(私の場合は、単語「経費」COL1行2)しかし、私は(この場合は11)事前に
Dim IE As Object
Dim doc As Object
Dim colTR As Object
Dim colTD As Object
Dim tr As Object
Dim td As Object
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True
IE.Navigate "www.mywebpage.com"
Do Until IE.ReadyState = 4
DoEvents
Loop
Set doc = IE.Document
Set colTR = doc.GetElementsByTagName("TR")
For Each tr In colTR
Set colTD = tr.GetElementsByTagName("TD")
For Each td In colTD
If td.innertext = "expenses" Then
TheValueIWant = tr.item(1).innertext
End If
Next td
Next tr
IE.Quit
Set IE = Nothing
Set doc = Nothing
Set colTR = Nothing
Set colTD = Nothing
Set td = Nothing
Set tr = Nothing
おかげで右側のセルの値を取得する方法がわかりません
11は、それ以上の列です。あなたのサンプルデータから言うと強く、おそらく1つまたは2つ以上です。それに応じてコードを調整するよりも、初めて 'debug.print'を使ってループを描くことができます。したがって、2列目の場合は 'tr.Cells(2).innertext'になります。 –