ホームページ上のCSVファイルをダウンロードし、そのデータをエクセルに貼り付けるマクロで、1回のマクロ起動で、複数のダウンロードファイルを同ブック内で別々のシートに貼り付けていくにはどのようにすればよいのでしょうか?
以下のマクロを教えて頂き、個々のデータを取る事は分かったのですが、新たに、複数の銘柄を一回のマクロで処理する方法を考えております。
以下のマクロであれば、IBMの株価をダウンロードして終了となるところを、DELLの株価、AAPLの株価と一回のマクロで同ブック内で別のシートにデータを貼り付けをしていきたいと思っています。
Sub sample1()
Dim url As String
Dim sDate As String
Dim eDate As String
Dim Symbol As String
Dim i As Integer
sDate = "1000/1/1" '開始日
eDate = "2010/12/31" '終了日
Symbol = "IBM" '銘柄
url = "http://ichart.finance.yahoo.com/table.csv?g=d&ig …
url = url & "&s=" & Symbol
url = url & "&a=" & Month(sDate) - 1 & "&b=" & Day(sDate) & "&c=" & Year(sDate)
url = url & "&d=" & Month(eDate) - 1 & "&e=" & Day(eDate) & "&f=" & Year(eDate)
'データ読み込み
With ActiveSheet
.Cells.Delete
For i = 1 To .QueryTables.Count
.QueryTables(1).Delete
Next
With .QueryTables.Add(Connection:="TEXT;" & url, Destination:=.Range("A1"))
.TextFileCommaDelimiter = True
.Refresh
End With
End With
End Sub
No.1ベストアンサー
- 回答日時:
例えばSheet1のA列に銘柄がある場合(A1=IBM,A2=DELL,A3=AAPL...など)、こんなのでは?
Sub sample1()
Dim ss As Worksheet
Dim ds As Worksheet
Dim url As String
Dim sDate As String
Dim eDate As String
Dim Symbol As String
Dim r As Long
Set ss = Sheets("Sheet1") 'またはActiveSheetなど銘柄があるシート
sDate = "1000/1/1" '開始日
eDate = "2010/12/31" '終了日
r = 1
Do While ss.Range("A" & r) <> ""
Symbol = ss.Range("A" & r) '銘柄
url = "http://ichart.finance.yahoo.com/table.csv?g=d&ig …
url = url & "&s=" & Symbol
url = url & "&a=" & Month(sDate) - 1 & "&b=" & Day(sDate) & "&c=" & Year(sDate)
url = url & "&d=" & Month(eDate) - 1 & "&e=" & Day(eDate) & "&f=" & Year(eDate)
'同名のシートの削除(手抜き版)
Application.DisplayAlerts = False
On Error Resume Next
Sheets(Symbol).Delete
On Error GoTo 0
Application.DisplayAlerts = True
'シートの追加とデータ読み込み
Set ds = Worksheets.Add(after:=Worksheets(Worksheets.Count))
With ds
.Name = Symbol
With .QueryTables.Add(Connection:="TEXT;" & url, Destination:=.Range("A1"))
.TextFileCommaDelimiter = True
.Refresh
End With
End With
r = r + 1
Loop
End Sub
p.s.
本当はいちいちSheet作ってquerytables.addしなくても.refreshだけでもいいかと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- Visual Basic(VBA) 複数csvを横に追加していくマクロについて 2 2023/04/25 09:19
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- PowerPoint(パワーポイント) エクセルのマクロについて教えてください。 1 2022/03/25 17:03
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/13 08:41
- その他(プログラミング・Web制作) python 気象データの取得 2 2023/06/20 23:54
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
- Excel(エクセル) 【マクロ】スクショ印刷がうまく動かない件 5 2022/12/06 17:37
- Visual Basic(VBA) エクセルVBAについて 8 2022/07/13 22:41
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/05/24 08:33
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel・Word リサーチ機能を無...
-
特定のPCだけ動作しないVBAマク...
-
エクセルで特定の列が0表示の場...
-
Excel マクロ VBA プロシー...
-
一つのTeratermのマクロで複数...
-
メッセージボックスのOKボタ...
-
エクセルVBAでNAVITIMEを使って...
-
EXCELのVBAでRange("A1:C4")を...
-
Excel VBAからAccessマクロを実...
-
ソース内の行末に\\
-
エクセルで別のセルにあるふり...
-
Teraterm 1行空白を入れたい。
-
wordを起動した際に特定のペー...
-
マクロ実行時、ユーザーフォー...
-
Excelのマクロボタンをダブルク...
-
マクロの連続印刷が突然不可能...
-
#defineの定数を文字列として読...
-
ファイルが見つからない時、ス...
-
サクラエディタ・マクロ → VSCo...
-
VBA初心者 Ctrl+での操作、ボタ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel・Word リサーチ機能を無...
-
特定のPCだけ動作しないVBAマク...
-
エクセルで特定の列が0表示の場...
-
Excel マクロ VBA プロシー...
-
メッセージボックスのOKボタ...
-
一つのTeratermのマクロで複数...
-
ExcelのVBA。public変数の値が...
-
エクセルに張り付けた写真のフ...
-
他人が作ったマクロの理解
-
ExcelVBAでPDFを閉じるソース
-
TERA TERMを隠す方法
-
エクセルで別のセルにあるふり...
-
マクロ実行時、ユーザーフォー...
-
Excel VBAからAccessマクロを実...
-
EXCELのVBAでRange("A1:C4")を...
-
TeraTermマクロの文字列結合
-
PDF出力マクロについて。マクロ...
-
#defineの定数を文字列として読...
-
エクセルのマクロをセルの値に...
-
wordを起動した際に特定のペー...
おすすめ情報