
エクセルで株価取得の仕組みを作ろうと思い
マクロのIf~ElseIfを列単位で条件分岐できないかと考えています。
今、作りたいと思っているのは
(1)列に特定の数値があった場合は
(2)セルに入力されている銘柄コードの
(3)始値・高値・安値・終値・出来高といった時系列データをネットから取得
を考えています。
添付画像で言うと例えば
(1)C列の「前日比が+」であった場合は
(2)A列の「銘柄コード」の
(3)始値・高値・安値・終値・出来高といった時系列データをネットから取得
という事を考えています。
分かりにくくて申し訳ありません
添付画像では3銘柄ほどしかありませんが、
実際は150銘柄ほどでこれを行い、
条件を満たしている銘柄のすべてで時系列データを取得したいと思っています。
自分でやろうと思ったやり方では
C1,C2,C3...と一つ一つ指定するくらいしか出来なかったため、
マクロが長文になってしまいました。
そこで列単位で一括で条件分岐する方法はないでしょうか。
アドバイス頂けると助かります。

No.2ベストアンサー
- 回答日時:
Sub Macro1()
MaxRow = Range("C1").End(xlDown).Row
For Each r In Range("C2").Resize(MaxRow)
If r > 0 Then
'ここにやりたい処理を挿入
'C列のデータが1以上のセルが r で利用できます
' r.Offset(0,-2).Value で銘柄コードを取得できます
End If
Next
End Sub
早速のご回答誠にありがとうございます。
>For Each
「繰り返す」というものがあったのですね。
ご教示ありがとうございます!
具体例も書いていただき非常に助かりました!
No.1
- 回答日時:
こんにちは!
質問文を読む限りでは「オートフィルタ」が一番簡単だと思います。
わざわざVBAでやる必要はなく手を動かすのが手っ取り早いのではないでしょうか?
C列をキーに 「0より大きい」でフィルタをかけ、表示されているデータのみを別Sheetにコピー&ペーストする。
といった感じではどうでしょうか?
※ どうしてもVBAで!というコトであれば、上記の一連の操作をコードにすると
↓のような感じですかね?
元データはSheet1にあり、Sheet2にコピー&ペーストするコードの一例です。
Sub Sample1()
Dim lastRow As Long, wS As Worksheet
Set wS = Worksheets("Sheet2")
wS.Cells.Clear
With Worksheets("Sheet1")
lastRow = .Cells(Rows.Count, "A").End(xlUp).Row
.Range("A1").AutoFilter field:=3, Criteria1:=">0"
.Range("A1").CurrentRegion.SpecialCells(xlCellTypeVisible).Copy wS.Range("A1")
.AutoFilterMode = False
End With
End Sub
こんな感じでは同でしょうか?m(_ _)m
早速のご回答誠にありがとうございます。
仰る通りフィルタをかけるのが手っ取り早く、大した手間ではないのですが、
出来る限り作業を機械的に行いたいと思っているのです。
ボタン一つで必要な情報をすべて取得して、
あとは株の売買の注文ボタンを押すだけ、
というのを理想としておりましたので。
ご提示いただいた別シートへのコピーは
今回の質問とは違うのですが、ちょうど自分が別に考えていた株情報取得に役立つ内容なので
ぜひ使わせていただきます。
ご回答ありがとうございます!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excel(VBA) 特定の条件に該当する行の値、書式を同じセルにコピ&ペーストしたいです 1 2022/05/21 18:18
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) まとめシートから集計シートへA列のコードが一致したら1行コピーするマクロをネット上で見つけました。こ 1 2022/08/30 14:11
- Excel(エクセル) エクセルのマクロ作成について教えてください 5 2023/02/20 00:39
- Visual Basic(VBA) 別シートのデータを参照して値を入れたい。 まとめデータシートのC列D列の値を商品一覧シートのコードが 7 2022/08/17 13:20
- 株式市場・株価 楽天証券で同じ銘柄を数回買った時の平均取得価額が分からない 2 2023/05/18 11:57
- Excel(エクセル) Excelのマクロで、特定のセルから順番に値を取得したい 5 2022/12/06 15:34
- Visual Basic(VBA) Excel VBA マクロ ある列の最終行迄を参照し、別の列の空白セルに値を入力したいです 2 2023/03/05 02:44
- Excel(エクセル) エクセル関数のスペシャリストの方、教えてください。 写真のように A列にはデータ C列にはデータの中 7 2022/04/09 00:15
- Excel(エクセル) エクセルのマクロについて教えてください。 3 2023/02/07 14:47
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
総資産と時価総額の違いを教え...
-
【トランプ・ショック】相互関...
-
PTS株価って翌日の始値に影響が...
-
大引けの出来高と次の日の株価
-
「ダウ」は指数なのに、単位は...
-
投資信託、グローバルロボテッ...
-
株価の前のアルファベットについて
-
株価の表示の赤・青について
-
跛行 と 爬行 の違い
-
株式市場の年間取引日数?
-
株式分割の公告前に株価大幅上...
-
マッチングアプリで知り合った...
-
PERやPBRの値は毎日変わ...
-
株式用語で教えてください。
-
日経平均株価が年内に5万円突破...
-
この優待券って何の意味がある...
-
板の点滅
-
日足データから週足、月足デー...
-
日経225種平均の算出方法について
-
株と証券と債券の違いを教えて...
おすすめ情報