VBA初心者です。エクセルで株投資の判定プログラムの作り方を教えてください。
約1年分の日足のデータ入力などは済んでいます。移動平均線の計算、Macdの計算も済んでいます。
今、N列の最終行に2本の移動平均線のクロスサイン(GC)が出ています。
この時に隣のO列の7日前の行から前日までの行ににMacdの買いサイン(MGC)が出ていたら、 M列の最終行に買いのサイン(買い)を出したいのです。
O列の7日前から前日までに(MGC)サインがあるか否かの検索方法をVBAでプログラム方法がわかりません。
あったときはM列に(買い)、なかったときは何もしないようにしたいです。
どなたか教えてください。よろしくお願いします。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
こんばんは
残念ながら、どのセルをどうしたいのかよくわかりません。
質問者様には当然のことでも、回答者には「質問文の内容」が全てで、明記されていないいないことは想像の世界でしかありません。
>N列の最終行に2本の移動平均線のクロスサイン(GC)が出ています
通常「最終行」という場合、値のある(関数計算の結果が""のセルも含む)最終行のことを言うと思います。
ですので、サインがあろうがなかろうが、「最終行」は「最終行」として決まりますけれど?
>隣のO列の7日前の行から前日までの行に~
日付がどこにあるのか不明です。
単に、1日が1行と考えても良いのなら、「7つ前の行から1つ前の行まで」と解釈すれば良いのか・・・
その場合であっても、元になる行が7よりも小さい場合は、どうなるのか・・・
>サインがあるか否か~
「サイン」と言っているのは何を意味しているのでしょうか?
"GC"や"MGC"の文字列がセル値になっているという意味でしょうか?
>M列の最終行に買いのサイン(買い)を出したいのです。
上述のように、「最終行」には固定値か関数が入っています。
そのセルに上書きして値を設定したいという意味でしょうか?
(可能ではありますが、なんだか、違う意味のような気がします)
などなど、不明点が多すぎるのでなんともわかりかねますけれど・・・
通常、最終行を求める方法は、例えばN列(=14列)であれば、
Cells(Rows.Count, 14).End(xlUp)
で該当するセルが求められます。
これは「N列の値がある(または関数が設定されている)最大行番号のセル」を求めるものです。
(ただし、N列が空列の場合は、N1セル(=空セル)が返されます)
セルの値を求めたければ、上記 Range.Value で取得できます。
あるセル(=Cell1)の右となり列の上に7行目から6行分のセル範囲を求めたければ
Cell1.Offset(-7, 1).Resize(6)
などで求めることが可能です。
また、セル範囲に対して繰り返し同じ処理をしたいなら
For Each c In セル範囲
~~繰り返し処理
Next c
などで可能です。
このあたりを応用すれば、(多分)なさりたいことは実現できるのではないかと想像しますが、いかんせん内容が不明すぎるので、具体的なコードは書けません。
(方法はいろいろあるので、他の方法でも実現可能と思いますけれど…)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 3 2022/06/12 11:17
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 2 2022/06/25 22:42
- Excel(エクセル) VBAで重複データを合算したい(時間) 1 2022/12/08 23:06
- Visual Basic(VBA) vba 等間隔の列に対しての計算 6 2022/05/17 20:15
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- 株式市場・株価 株 移動平均線デッドクロス MACDゴールデンクロス 4 2023/07/24 23:00
- Excel(エクセル) VBA セルの値と同じ名前のシートにデータを貼り付けするやり方を教えてください 2 2022/05/17 16:26
- C言語・C++・C# このプログラミングの問題を教えてほしいです。 キーボードからデータ数nとn個のデータを入力し、平均値 3 2022/12/19 22:51
- Excel(エクセル) シートが違う2枚のエクセルシートにある数値を別シートにコピーしたい(VBA?) 8 2022/03/31 12:24
- Visual Basic(VBA) エクセルVBAで『A列』に新規で数値を入力し『B列』から右方向の空白セルにその値を貼り付ける方法 4 2022/11/05 08:37
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで特定の文字列が入っ...
-
【Excel関数】UNIQUE関数で"0"...
-
[EXCEL]ボタン押す→時刻が表に...
-
特定の文字がある行以外を削除...
-
エクセルマクロで偶数行(又は...
-
excel 小さすぎて見えないセル...
-
excelのデータで色つき行の抽出...
-
Excelでカタカナ・ひらがな・英...
-
エクセル マクロ オートフィ...
-
エクセル マクロで数値が変っ...
-
エクセルVBA:リストに登録した...
-
サイズの違うセル 並べ変え
-
エクセル2016で時間を入力して...
-
エクセル 上下で列幅を変えるには
-
結合されたセルをプルダウンの...
-
Excel グラフのプロットからデ...
-
Excel 時刻の並び替え
-
VBAで色の付いているセルの行削除
-
電話番号の入力方式が違うデー...
-
セルの色によって条件文をつけ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで特定の文字列が入っ...
-
エクセル マクロ オートフィ...
-
【Excel関数】UNIQUE関数で"0"...
-
[EXCEL]ボタン押す→時刻が表に...
-
結合されたセルをプルダウンの...
-
エクセル マクロで数値が変っ...
-
Excel グラフのプロットからデ...
-
AのセルとB行を比較して、一致...
-
エクセル 上下で列幅を変えるには
-
Excel ウインドウ枠の固定をす...
-
特定の文字がある行以外を削除...
-
excelのデータで色つき行の抽出...
-
エクセル2016で時間を入力して...
-
excel 小さすぎて見えないセル...
-
EXCELで最後の行を固定
-
エクセルVBA 最終行を選んで並...
-
VBAで色の付いているセルの行削除
-
エクセルマクロで偶数行(又は...
-
エクセルのセルに指定画像(.jpg...
-
罫線の斜線を自動で引くマクロ
おすすめ情報