
こんにちは。VBA初心者の駆け出しです。
よろしくお願いします。
「外部データの取込み」→「新しいwebクエリ」からデータを取り込んで、集計するマクロに取り組んでいますが、
webクエリの部分はマクロの記録で自動記述されたものを使っています。
URLが指定されるので、変数をおいてみたけどダメでした。
そもそも外部デ-タの取り込みは、変数使えないのでしょうか?
すみません、データベースがサイトにしかなくて、webクエリしか方法がないのですが。。
サイトが(データが)膨大で、取り込む回数が100を超えるんで、URLだけ変更して、同じ記述を繰り返して使ってるのですが、
それだけでモジュール2つにしないとエラーになってしまいます。なんとかURLの部分を変数にできないか、とお助けをお願いします。もくはwebクエリを保存して、そのファイルを利用できないでしょうか?
各webページは同形式です。
未熟ながらloopが使えれば、と考えたのですが、脳が足らなくて、こちらに始めて投稿した次第です。説明分かりづらい所があったらご指摘お願いします。
環境:
win2000 XP
Officce ver.2002 2003
混合した環境です。
マクロを保存先のExcelは2003です。
No.1ベストアンサー
- 回答日時:
できますよ。
今のコードがどうなっているのかがよくわからないのですが、マクロでやっているのなら、クエリファイルを読み込みにいくコードまでは自動で作ってくれるはずですから、あとはそのクエリファイルを予め作っておけばよいだけです。
webクエリのファイル(*.iqy)の中身はただのテキストファイルですので、一つ試しに作って中の仕様を丸まるコピーすればよいだけです。で条件にあわせてURLやらSelectionの部分を置き換えると。
回答有難うございます!
とりあえず今作ったものの一部、webクエリの部分です。
--------------------------
Sub Macro1()
Sheets(1).Select
Columns("A:F").Select
Selection.Clear
Selection.QueryTable.Delete
With ActiveSheet.QueryTables.Add(Connection:="URL;http://news.goo.ne.jp", _
Destination:=Range("A1"))
.Name = "news.goo.ne.jp"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
~中略
.Refresh BackgroundQuery:=False
End With
行 = 8
列 = 2
取行 = 8
取列 = 9
If Not Cells(行, 列) = "" Then
If Not Cells(取行, 取列) = "n" Then
Application.Run "取込2"
End If
End If
'まずシートをクリアして、そこにwebクエリの取り込みをします。
’取り込んだデータをIFで処理したら、次の取り込みへ。。
-------------------
といった感じです。繰り返し処理が、未熟で手段が分からず、
この記述をURL以外、コピー&ペースト100回くらい繰り返し、やっとEnd Sub が拝める状態です。
popesyuさんが教えてくださった通り、webクエリのファイル(*.iqy)作って
ファイル名を変数にして、それを実行する処理が一番ベストのようですね。チャレンジしてみます。
ただし、100回繰り返しのところ→今度の仕事は2500~3000回の予定なのです。
とほほですが、テキスト(webクエリのファイル用に)を自動生成する方法。。など考えたほうがよいでしょうか?
もちろん無謀なら、取り込みを分割する予定ですが。。
何度もすみません、どうしたらいいでしょう?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) Windowsのマクロプログラムで、こんなことできますか? 3 2022/06/28 14:30
- HTML・CSS WEBサイトの構築。表示データとWEBデザインを分離する考え方を専門用語・業界用語では何と言うか? 8 2022/09/27 09:16
- Excel(エクセル) EXCELの外部データ取得ができない 1 2023/03/23 09:03
- Web・クリエイティブ EXCELでweb内の表を取込む方法を教えてください 2 2023/04/01 11:28
- PHP 配列の値の更新方法について 1 2022/08/05 09:49
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Access(アクセス) スキルシートのエクセルの項目に 2 2023/04/04 22:41
- Visual Basic(VBA) vbaエクセルマクロについて あるデータを作成し、デスクトップに.xlsx形式で保存するマクロを作成 2 2023/03/02 18:54
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/03/08 09:08
- Visual Basic(VBA) 【困っています2】VBA 追加処理の記述を教えてください。 2 2022/08/26 11:42
このQ&Aを見た人はこんなQ&Aも見ています
-
Excel マクロでShearePoint先のフォルダ指定
Excel(エクセル)
-
エクセルのエラーメッセージ「400」って?
Visual Basic(VBA)
-
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
-
4
CSVファイルの指定列だけを読み込んでEXCELに表示したい
Excel(エクセル)
-
5
メッセージボックスのOKボタンをVBAでクリックさせたい
Visual Basic(VBA)
-
6
アウトルックが起動しているかどうかを取得するには?
Visual Basic(VBA)
-
7
callで順に実行されるプロシージャを途中で止める方法
Excel(エクセル)
-
8
worksheetFunctionクラスのVlookupプロパティを取得できません エラーへの対応
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
マクロの連続印刷が突然不可能...
-
特定のPCだけ動作しないVBAマク...
-
Excel マクロ VBA プロシー...
-
一つのTeratermのマクロで複数...
-
エクセルで特定の列が0表示の場...
-
ExcelのVBA。public変数の値が...
-
Excel_マクロ_現在開いているシ...
-
Excel・Word リサーチ機能を無...
-
エクセルマクロでワードの一ペ...
-
エクセルに張り付けた写真のフ...
-
マクロ実行時エラー
-
メッセージボックスのOKボタ...
-
Excelのセル値に基づいて図形の...
-
ダブルクリックで貼り付けた画...
-
エクセルで縦に並んだデータを...
-
wordを起動した際に特定のペー...
-
Excel 改ページのVBAうまくい...
-
TERA TERMを隠す方法
-
マクロ実行時、ユーザーフォー...
-
VBSからエクセルのマクロを起動...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
特定のPCだけ動作しないVBAマク...
-
Excel・Word リサーチ機能を無...
-
エクセルで特定の列が0表示の場...
-
Excel_マクロ_現在開いているシ...
-
一つのTeratermのマクロで複数...
-
メッセージボックスのOKボタ...
-
Excel マクロ VBA プロシー...
-
ExcelのVBA。public変数の値が...
-
エクセルで別のセルにあるふり...
-
エクセルに張り付けた写真のフ...
-
Excel マクロでShearePoint先の...
-
TERA TERMを隠す方法
-
Excelのセル値に基づいて図形の...
-
Excel VBAからAccessマクロを実...
-
ExcelVBAでPDFを閉じるソース
-
マクロ実行時、ユーザーフォー...
-
オートフィルターとExcelマクロ...
-
wordを起動した際に特定のペー...
-
特定文字のある行の前に空白行...
-
エクセルで縦に並んだデータを...
おすすめ情報