Не уверен, что вы подразумеваете под сохранить дизайн , поэтому возвращаем строку и диктуем
(как объект) методы возврата
Option Explicit
Public Sub PrintResult()
Dim dict As Object, key As Variant
Set dict = getPOST
For Each key In dict.keys
Debug.Print dict(key)
Next
End Sub
Public Function getPOST() As Object
Const link$ = "https://admintool.noah-connect.com/widget/attendees"
Dim http As New XMLHTTP60, html As New HTMLDocument
Dim elem As Object, tRow As Object, oName As Object, oCom As Object
Dim i As Long, dict As Object
Set dict = CreateObject("Scripting.Dictionary")
With http
.Open "GET", link, False
.send
html.body.innerHTML = .responseText
For Each elem In html.getElementsByTagName("tbody")(0).getElementsByTagName("tr")
i = i + 1
Set oName = elem.getElementsByTagName("td")(0)
Set oCom = elem.getElementsByTagName("td")(1)
dict(i) = oName.innerText & "-" & oCom.innerText
Next elem
End With
Set getPOST = dict
End Function
Option Explicit
Public Sub PrintResult()
Dim items() As String, result As String, i As Long
result = getPOST
items = Split(result, "###")
For i = LBound(items) To UBound(items)
Debug.Print items(i)
Next
End Sub
Public Function getPOST() As String
Const link$ = "https://admintool.noah-connect.com/widget/attendees"
Dim http As New XMLHTTP60, html As New HTMLDocument
Dim elem As Object, tRow As Object, oName As Object, oCom As Object, result As String
result = ""
With http
.Open "GET", link, False
.send
html.body.innerHTML = .responseText
For Each elem In html.getElementsByTagName("tbody")(0).getElementsByTagName("tr")
Set oName = elem.getElementsByTagName("td")(0)
Set oCom = elem.getElementsByTagName("td")(1)
result = result & oName.innerText & "-" & oCom.innerText & "###"
Next elem
End With
getPOST = result
End Function