Таблицы в родительском div динамически загружаются с помощью вызова ajax, поэтому вам нужно какое-то условие ожидания, чтобы убедиться, что они присутствуют. Я показываю условие ожидания, основанное на количестве имеющихся дочерних таблиц, и дополнительно использую буфер обмена для копирования и вставки дочерних таблиц в лист.
Option Explicit
Public Sub GetMarketActivity()
Dim ie As SHDocVw.InternetExplorer, clipboard As Object
Set ie = New SHDocVw.InternetExplorer
Set clipboard = GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
Dim t As Date
Const MAX_WAIT_SEC As Long = 360
With ie
.Visible = True
.Navigate2 "https://www.pse.com.ph/stockMarket/marketInfo-marketActivity.html?tab=1&indexName=All%20Shares"
Do
DoEvents
Loop While .Busy Or .readyState <> READYSTATE_COMPLETE
t = Timer
Do
DoEvents
If Timer - t > MAX_WAIT_SEC Then Exit Sub
Loop Until .document.querySelectorAll(".x-grid3-row-table").Length > 1 '<wait for more than one record (Table)
Dim tables As Object, i As Long, headers()
Set tables = .document.querySelectorAll(".x-grid3-row-table")
headers = Array("Record", "Symbol", "Last trade date", "Last trade price", "Outstanding shares")
For i = 0 To tables.Length - 1
clipboard.SetText tables.item(i).outerHTML
clipboard.PutInClipboard
With ActiveSheet
.Cells(1, 1).Resize(1, UBound(headers) + 1) = headers
.Cells(i + 2, 1).PasteSpecial
End With
Next
.Quit
End With
End Sub