Sub ht(Html, Range)
s1 = Split(Html, "<tr")
rn = UBound(s1)
cn = UBound(Split(s1(2), "<td>"))
ReDim arr(rn - 1, cn - 1)
For ri = 1 To rn
s2 = Split(s1(ri), "<td")
If UBound(s2) = 0 Then s2 = Split(s1(ri), "<th")
For ci = 1 To cn
arr(ri - 1, ci - 1) = smid(s2(ci), ">", "<")
Next
Next
Range.Resize(rn, cn) = arr
End Sub
Function smid(a, b, c) '截取首次出现文本中间
If InStr(a, b) > 0 Then
smid = Right(a, Len(a) - InStr(a, b) - Len(b) + 1)
If InStr(smid, c) > 0 Then
smid = Left(smid, InStr(smid, c) - 1)
End If
End If
End Function