WebサイトからExcelスプレッドシートに情報をダウンロードしたい場合は、this format – not the actual websiteです。VBAを使用してExcelスプレッドシートにWebページをインポートする
上記のように特定の日付と会社で動作するマクロを使用してWebクエリを実行できます。しかし、私は - 入力ステートメントを介して - ウェブアドレスの任意の日付をダウンロードできるようにしたい。私は、関連するデータをダウンロードするために、ユーザに年、月、日、特定の会社を入力するように促すマクロを希望します。
私の試みがうまくいかず、上記のウェブサイトアドレスに&という会社の日付を記入する方法がわかりません!
これが役に立ちます。それは日付を必要とする競馬フォームのウェブサイトから取られました!
これはコードに日付を入れる試みですが、バグがあります。
RaceDate = InputBox("Please enter today's date (YYYY/MM/DD)", "Enter Date")
Meeting = InputBox("Enter Location of Race", "Enter Meeting")
Race = InputBox("Enter Race Number", "Enter Race")
Range("A13").Select
With ActiveSheet.QueryTables.Add(Connection:= "URL;http://tatts.com/racing/formguide.aspx? RaceDate & Meeting & Race"
, Destination:=Range("$A$13"))
.Name = "formguide.aspx? RaceDate & Meeting & Race"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.WebSelectionType = xlEntirePage
.WebFormatting = xlWebFormattingNone
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.WebDisableRedirections = False
.Refresh BackgroundQuery:=False
End With
私は、これらの2つの行は特定の日付で動作することを知っていますが、ユーザーの入力日付に合わせる必要があります。
"URL;http://tatts.com/racing/formguide.aspx?year=2012&month=1&day=20&meeting=QR&race=5" _
, Destination:=Range("$A$13"))
.Name = "formguide.aspx?year=2012&month=1&day=20&meeting=QR&race=5"
あなたの投稿は非常にわかりにくいです。いくつかのコードを試してみることができますか? – Mikhail
これは非常に有効ですが、実際のサイトを私たちに教えてくれればもっと簡単になります – brettdj