共有ブックのクエリテーブルを更新することができます。したがって、あなたの状況に合っている場合は、共有されていないときにテンプレートにクエリを設定してから共有してから、VBA経由でリフレッシュしてください。それが最も簡単な方法です。
事前に設定ができない場合は、MSXMLを使用してWebデータを取得し、VBAでシートに貼り付けることができます。参照(VBE - ツール - 参照)をMicrosoft XML、v5.0、Microsoft Forms 2.0 Object Library(クリップボード用)に設定する必要があります。次に、このようなコードを実行してWebページからテーブルを取得することができます。
Sub GetData()
Dim oHttp As MSXML2.XMLHTTP50
Dim sHtml As String
Dim lTableStart As Long, lTableEnd As Long
Dim doClip As MSForms.DataObject
Const sTABLESTART As String = "<table id=""table1"">"
Const sTABLEEND As String = "</table>"
'create a new request object
Set oHttp = New MSXML2.XMLHTTP50
'open the request and send it
oHttp.Open "GET", "http://finance.yahoo.com/q?s=^GSPC", False
oHttp.send
'get the response - a bunch of html
sHtml = oHttp.responseText
'define where your data starts and ends
lTableStart = InStr(1, sHtml, sTABLESTART)
lTableEnd = InStr(lTableStart, sHtml, sTABLEEND)
'create a new clipboard object
Set doClip = New MSForms.DataObject
'set the text and put it in the clipboard
doClip.SetText Mid$(sHtml, lTableStart, lTableEnd - lTableStart)
doClip.PutInClipboard
'one of those rare instances where you actually have to select a range in VBA
Sheet4.Range("G10").Select
'blank out the previous results
Sheet4.Range("G10").CurrentRegion.ClearContents
'paste the hmtl as text with no formatting
Sheet4.PasteSpecial "Text", , , , , , True
End Sub
エラーをチェックインしていません。いくつかのコードを追加して、Webページを見つけ、必要なデータが含まれていることを確認することができます。