みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

エクセルVBA URLの記述をセル参照に

VBA初心者です。WEBクエリの作業をマクロで記録したものを編集しています。

そこで、コードのURL部分をセル参照にしたいのですが、コンパイルエラーが出るため記述が間違っているようです。もともとが間違っているのかどうかもわからず、その点につきまして、ご教授をお願い申し上げます。

Connection:="URL;http://www.○○○○"
↓編集 (URLを入れているセルは、Sheet1のA1、データを返すのはSheet2のA1)

Connection:="ActiveWorkbook.WorkSheets("Sheet1").Range("A1")"

"Sheet1"部分が選択された状態でエラーとなります。

以下は、ソースです。
Sub test1()

With ActiveSheet.QueryTables.Add(Connection:= _
"URL;http://www.○○○○", Destination:=Range _
("$A$1"))
.Name = "151"
.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 = "22"
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.WebDisableRedirections = False
.Refresh BackgroundQuery:=False
End With
End Sub

投稿日時 - 2015-02-15 12:19:13

QNo.8917971

困ってます

質問者が選んだベストアンサー

ダブルクォーテーション中にダブルクォーテーションがある場合、連続で""xx""のようにしないと質問のエラーになります。

質問のコードだと
"ActiveWorkbook.WorkSheets("
で一括りと判断されてしまってます。

Connection:="ActiveWorkbook.WorkSheets(""Sheet1"").Range(""A1"")"

でいかがでしょうか。

投稿日時 - 2015-02-15 14:33:55

お礼

お礼が遅くなりました。ありがとうございます。
無事にエラーから抜け出すことができました。

ダブルクォーテーションの扱い方については初めて知り、とても勉強になりました。

投稿日時 - 2015-02-16 10:45:22

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

With ActiveSheet.QueryTables.Add(Connection:="URL;" & ActiveWorkbook.Worksheets("Sheet1").Range("A1").Value, _
Destination:=Range("$A$1"))

としたらいかがでしょう?

投稿日時 - 2015-02-15 14:57:46

お礼

無事にエラーを抜け出すことができました。
URL;部分だけ先に""でくくるというやり方があるのですね。とても勉強になりました。
質問をさせてもらってよかったです。ありがとうございました。

投稿日時 - 2015-02-16 10:52:34

あなたにオススメの質問