VBA初心者です。
VBAを使い、下記「やりたいこと」をしたいのですが、
「質問内容」にありますように、上手くできません…。
基礎がわかっていない為、お粗末な内容かもしれませんが、
教えてください。何卒よろしくお願い致します。
■やりたいこと
シート「1」にあるURLアドレスのリスト(C列)に沿って
WEBクエリを実行し、シート「2」に取得したデータを
連続して末行に入力したいです。
■質問内容
見よう見真似で、下記VBAを作成しました。(1To3は仮の回数です)
WEBクエリが実行され、末行に取得データが入力されますが、
1回目、2回目の取得データは消え(長い空白行ができ)、
ラストの3回目のデータのみが残るかたちになります。
取得したデータが消えず、連続してWEBクエリを実行できるよう
下記を添削して頂けませんでしょうか。
----------------------------------------------------------------
Sub Macro2()
Dim Lrow As Long
For カウンタ = 1 To 3
Lrow = Worksheets("2").Range("A" & CStr(Rows.Count)).End(xlUp).Row
セル範囲 = "C" & カウンタ
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;" & Worksheets("1").Range(セル範囲).Value, Destination:=Worksheets("2").Range("A" & Lrow))
.Name = Worksheets("1").Range(セル範囲).Value
.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
Next
End Sub
No.1ベストアンサー
- 回答日時:
こんばんは。
>取得したデータが消えず、連続してWEBクエリを実行できるよう下記を添削して頂けませんでしょうか。
結論からいうと、このコードでは不可能なのです。QueryTable というテーブルは、列全体を使っていますが、そこに入れたデータは一回きりです。右側にずらして入れていくという方法もないとは言いませんが、効率が悪いです。QueryTable 専用のシートを作っておいて、そこで、取れたデータを、一旦、別のシートにコピーして写すという方法しか、解決策はありません。QueryTable でWeb データを取得した後の部分にCopy/Paste をつなげればよいのではないかと思います。
ご回答ありがとうございます!!
試しに、繰り返し処理なしですが、
WEBクエリのデータを取得し、別シートにコピーすることは
できました。こちらの方法でリストを作成していきたいと
思います。
不可能だったとは、聞いて良かったです。
聞かなければ、ずっと迷走していました・・・。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Visual Basic(VBA) excel vbaでvlooupの変数がわかりません。 7 2022/05/30 09:35
- Visual Basic(VBA) 動きっぱなしです。止め方とプロシージャの間違いを教えて下さい! 5 2022/08/15 23:08
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) 最終列の右へSUM関数を作成するため下記コードを実行しましたが、最終列「10月28日」が上書きされて 3 2022/12/05 20:32
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- Excel(エクセル) VBAについて 3 2022/06/19 18:19
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルファイルのシート毎の容量
-
Excelでシートの違うデータでグ...
-
複数シートからデータを拾って...
-
Excelで日付変更ごとに、自動的...
-
シート削除して同名シート追加...
-
excelの不要な行の削除ができな...
-
トランジスタの選び方
-
VBAで CTRL+HOMEの位置へ移動...
-
Excel 売上管理シートに入力し...
-
EXCEL 複数行のデータを1行にま...
-
エクセルのカメラ機能について
-
別々のシートの表をピボットテ...
-
EXCELで2つのファイルから重複...
-
EXCEL の表を一行ずつシートに...
-
エクセルで複数行のデータを1列...
-
エクセルで複数の条件を抽出し...
-
エクセル2010 別シートへのデー...
-
重いExcelファイルのことで教え...
-
Googleスプレッドシートフィル...
-
エクセル、シ-ト1とシ-ト2の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルファイルのシート毎の容量
-
複数シートからデータを拾って...
-
Excelでシートの違うデータでグ...
-
シート削除して同名シート追加...
-
Excelで日付変更ごとに、自動的...
-
excelの不要な行の削除ができな...
-
VBAで CTRL+HOMEの位置へ移動...
-
(VBAにて)日付でデータを抽出す...
-
EXCELで2つのファイルから重複...
-
他のシートの一番下の行データ...
-
エクセルのカメラ機能について
-
トランジスタの選び方
-
別々のシートの表をピボットテ...
-
エクセル 縦に長い表の印刷時...
-
EXCEL 複数行のデータを1行にま...
-
【エクセル」 特定のセルで条件...
-
オートフィルタで抽出したデー...
-
Excel 売上管理シートに入力し...
-
エクセル VBA VLOOKUP
-
EXCEL の表を一行ずつシートに...
おすすめ情報