アリゾナ州のすべてのカイロプラクターの連絡先情報のマスター リストを作成したいと思います。理事会のウェブサイトにはすべてのカイロプラクターがリストされてい ますが、クリックして個々の住所と電話番号を確認する必要があります.
各カイロプラクターに関するすべての情報を単一のスプレッドシート行形式で取得するにはどうすればよいですか?
アリゾナ州のすべてのカイロプラクターの連絡先情報のマスター リストを作成したいと思います。理事会のウェブサイトにはすべてのカイロプラクターがリストされてい ますが、クリックして個々の住所と電話番号を確認する必要があります.
各カイロプラクターに関するすべての情報を単一のスプレッドシート行形式で取得するにはどうすればよいですか?
かんたんだよ。最初のシートでData > External data > From website
. URLを貼り付け、メインテーブルを選択して行いNext
、A1に入れます。
VBA エディターに次の式を貼り付けて実行します。Web サイトからすべてのデータを取得し、Sheet2
. 後は質問のトピックではないデータの整理だけなので、お任せします。
Sub ExtractAllData()
Dim dest As Range, license As Range
Dim license_no As String
Worksheets("Feuil2").Select
Set dest = Worksheets("Feuil2").Range("A1")
Set license = Worksheets("Feuil1").Range("C3")
Do Until license.Value = ""
license_no = Mid(license.Value, 1, InStr(1, license.Value, " "))
With Worksheets("Feuil2").QueryTables.Add(Connection:= _
"URL;http://www.azchiroboard.us/ProDetail.asp?LicenseNo=" & license_no, Destination:= _
dest)
.Name = "ProDetail.asp?LicenseNo=" & license_no
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.WebSelectionType = xlSpecifiedTables
.WebFormatting = xlWebFormattingNone
.WebTables = "1"
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.WebDisableRedirections = False
.Refresh BackgroundQuery:=False
End With
Set dest = Range("A65535").End(xlUp)
Set dest = dest.Offset(1, 0)
Set license = license.Offset(1, 0)
Loop
End Sub
ちなみに、メイン テーブルからデータを取得する方法を理解するのに 1 分かかりました。リンクがライセンス番号を使用して PHP ページを呼び出すだけであることを理解するのに 1 分かかります。マクロを記録するのに 1 分、それを適応させて間違いを修正するのに 5 分。