すいません,お知恵を貸してください。
モデルを簡単にしますね。
○現在A1セルに,刻々と数値が変わる数式が入っています。(具体的には株価です,自動で変わります,楽天RSSです)
○そこで例えば9時20分から9時40分までの間の最高値と最小値を取得したいのですが,どうしたら良いでしょうか?
○関数でセルにif分を使うと自セルとの比較になり,どうしても循環参照になってしまい,できません。
○VBAでPrivate関数のworksheet_changeを使用してみましたが,手入力と違うからかマクロがA1の値変更には反応しません。
○次々と値を新しいセルに20分間ぶっこんでいって後で集計も考えましたが,一日中動かしますので,負荷が高すぎて現実的ではありません。
どなたか,お知恵をよろしくお願いいたします。やりたい事はいたってシンプルですので,私がただの馬鹿なのかもしれませんが・・・
No.3ベストアンサー
- 回答日時:
VBAの勉強を始めて3日目の者です。
以下のコードをsheet1のところに記述すると、とりあえずできると思います。。。
A1には株価
B1に最高値
C1に最安値を表示させます
Private Sub Worksheet_Change(ByVal Target As Range)
Dim s As String
If Target.Cells.Count = 1 Then
s = Target.FormulaLocal
On Error Resume Next
Application.EnableEvents = False
If Range("a1") > Range("b1") Then
Range("b1") = Range("a1")
End If
If Range("c1") = "" Then
Range("c1") = Range("a1")
End If
If Range("a1") < Range("c1") Then
Range("c1") = Range("a1")
End If
Application.EnableEvents = True
On Error GoTo 0
End If
End Sub
参考になりますでしょうか。。。
昨日は出張にてお礼が遅れまして申し訳ございません。早速試させていただきました。
しかし,結果は残念ながら・・・Xでした。
A1に手入力で数字を入力すればprivate関数の
worksheet_changeにて,まさに正しく動作しますが
A1に株価自動数値入力の以下の関数を入れると
=RSS|N225.FUT01.OS!現在値
(楽天証券のオリジナル関数,株価がリアルタイムで更新されます)
B1,C1共に反応を示さず,A1だけが刻々と更新されます。
試しにD1に上記関数を,そしてA1に=D1とやっても結果は同じでした。
手入力しか,Private sub関数は反応しないのでしょうか?
No.2
- 回答日時:
RSSの関数を調べれば分かりますが
Excelのセル式の情報コードに対象銘柄の
高値、安値、高値時刻、安値時刻を指定すれば
各々取得できるので、後は範囲時刻内で
最高値、最安値を求めればいいですよ。
RSS|' 銘柄コード . 市場コード '! 情報コード
RealTimeSpreadSheetのソフト仕様をよく調べることです。
この回答への補足
回答ありがとうございます。20分足での,それぞれの高値,安値を
9:00ー9:20
9:20-9:40
9:40-10:00
のように取得していきます。
RSSに標準装備の最高値,最安値は
「一日」を通してのものですので
役には立ちません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAで自動集計(特定セルコピー月ごとに値貼り付け)したい。 6 2023/06/25 11:37
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Excel(エクセル) エクセルVBAでセルに表示されているとおりの数値を取得したい(時間の計算結果) 1 2022/03/30 17:52
- Excel(エクセル) エクセルの関数式を教えてください。 2 2022/11/29 21:09
- Excel(エクセル) エクセルの自動更新のタイミングについて 1 2022/07/20 16:12
- Excel(エクセル) シート参照を含む数式を連続コピー 3 2022/12/10 11:42
- Visual Basic(VBA) 顧客ごとに違う点検案内を作成するマクロ 4 2022/09/16 05:34
- Visual Basic(VBA) Excel のユーザー定義関数でソルバーが動作しない 1 2022/09/05 19:51
- Excel(エクセル) マクロだと数式が表示される 2 2022/09/10 14:48
- Excel(エクセル) エクセルの関数(式)を教えてください。 1 2022/09/27 09:28
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
あああ..ああい..ああう とい...
-
エクセルを開いたらカウントし...
-
ある一定時間の最高値と最小値...
-
VBAにて『元に戻すボタン』を作...
-
セルに入ってる数式を他のセル...
-
エクセル マクロ オートフィ...
-
Excel 範囲指定スクショについ...
-
B列の最終行までA列をオート...
-
エクセル2016で時間を入力して...
-
VBA シートをコピーする際に Co...
-
VBAマクロ実行時エラーの修正に...
-
特定の文字がある行以外を削除...
-
エクセルVBA 配列からセルに「...
-
LEFT関数とIF関数の組み合わせ...
-
「段」と「行」の違いがよくわ...
-
Excelのマクロについて教えてく...
-
VBAコードについて教えてくださ...
-
エクセルマクロで偶数行(又は...
-
エクセルで特定の文字列が入っ...
-
Worksheets メソッドは失敗しま...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
あああ..ああい..ああう とい...
-
VBAにて『元に戻すボタン』を作...
-
vbs 文字位置を中央に
-
select caseの入れ子
-
VBAバーコード照合 バーコード...
-
エクセルで選択したセルがディ...
-
指数関数近似を行うプログラム...
-
セルに入ってる数式を他のセル...
-
ある一定時間の最高値と最小値...
-
C++で、b[bit]の非負整数(例え...
-
xlookup関数の引数を利用して検...
-
スペース区切りのAND検索
-
エクセル インデックスを用い...
-
アセンブラでの記述について教...
-
VBAマクロ実行時エラーの修正に...
-
Worksheets メソッドは失敗しま...
-
マクロの「SaveAs」でエラーが...
-
エクセルで特定の文字列が入っ...
-
エクセルで離れた列を選択して...
-
B列の最終行までA列をオート...
おすすめ情報