マクロ」タグアーカイブ

エクセルVBA、楽天証券マーケットスピードのRSSを使用して株価情報取得

マーケットスピードの株価チャートを見ていて、株価や板をずっと見ていると目が疲れてくる。
株価の変動が大きいときは我慢できるが、商いが薄いときは株価が動かず眠くなる。
そこで、楽天証券マーケットスピードのRSSを使用して株価情報を取得して必要な値になったら色の変化で表示させたら便利かもと思った。
このRSSを使用して株価情報をエクセルのシードに表示させるとどうなるか試してみた。
なお、エクセルを使用するために、毎月約1300円くらい支払う。年払いのほうが安いが毎回数ヶ月くらいしかエクセルを使わないので今回も月極にした。

マーケットスピード2のRSSのマクロはこちら

姉妹ブログはこちらエクエルを使用してマーケットスピード2とRSSを利用して株価をチェックするメモ

・RSS(リアルタイムスプレッドシート)
「RSSとは、マーケットスピード投資情報ページ「市況情報(先物OP市況情報)」に表示される値(注)を特殊な関数(RSS関数)を用いて市販表計算ソフト『Microsoft Excel』に取り込み、セル上に表示させるツールです。」
https://www.rakuten-sec.co.jp/MarketSpeed/onLineHelp/msman1_11_1.html

マーケットスピードの機能でも株価情報を表示させることは可能だが、RSSとエクセルを使用することにヨテ自分だけの必要な情報のみを表示させるシートを作成することができる。

・VBAの注意点
IF文のelse if は[elseif](他の言語は、大抵[else if]のようにスペースを入れる)
等価はイコール1つ(他の言語は大抵イコールが2つ必要)
ちなみにVBAとマクロは厳密に仕様が異なることがあるので確認するとよい

・使用環境:Windows10、エクセル Office365 マーケットスピード、RSS.exe
なお、RSSを登録するにはエクセルのマクロを有効にするなど、いくつか設定が必要である。
またRSSが実行できるようにセキュリティソフトの設定も必要。
これらの設定は楽天証券のホームページとグーグル先生が教えてくれる。
(数年経過すると、サイトが閉鎖されているのでネットの情報も永遠ではない)

・エクエルシート構成、マクロ仕様

‘VBAはシングルクォーテーションがコメントになる
‘Ctr+spaceで入力途中でコマンドの候補が表示される。簡易的な入力支援みたい

・動作環境:Windows,マーケットスピード、RSSを起動しマーケットスピードにログインしておく
‘Windowsのみ、RSSが対応しているのはWindowsのみでMacは動作しない
・目的
‘RSSで取得した情報を一定時間間隔で別セルにコピーする、時刻、比率等を記載
‘株価の動きを予測する資料とする
・動作手順
‘マーケットスピードにログインして、RSSを起動する「接続中」となる。「接続処理中」は接続できていないので接続中になるように調整すること
‘エクセルを起動して該当のファイルを開く
‘取得したい銘柄コードを入力する。この作業は手作業
‘マクロを実行させる。その後は、自動でセルのコピーが始まる
‘市場が開いていない時間帯はコピー処理は行わない。
‘2021・04・26

 

株価チェックEXCELマクロ、安値高値

株価をチェックして、安値高値でサウンドを再生

ちなみにヤフーファイナンスでも安値、高値に達したらメールで知らせてくれるサービスは存在するが、メールを見ないといけないし、複数の銘柄をチェックする場合は面倒になってくる。エクセルシートを見ながら、再生音で安値、高値をチェックできたら便利と思った。

エクセルを複数起動したい場合は、Windowキー+Rファイルを指定して起動で[excel /x]と入力して起動させて、エクセルブックを開けばよい。

仕様
楽天証券、マーケットスピード、RSS.exeが必要。Windowsのみ。
VBAによるループ処理で、現在値と安値、高値を比較します。
DoEvntsでイベントを受け付けます。
安値、高値になるとサウンドが1回再生されます。達成チェック列(H2以降)の文字を消すと再度再生します。サウンドファイルは個別に用意をする必要があります。
コードを入力後は銘柄ボタンをクリックしないと株価を取得しません。

参考にしたサイト

https://dp-invest.hateblo.jp/entry/2020/11/09/192427

使い方

(1)コードを入力して銘柄ボタンをクリックすると銘柄名と株価を取得します。
(2)安値と高値を入力します。省略可能。
(3)チェック開始ボタンで比較実行
(4)終了ボタンで処理を停止

 

グーグルスプレッドシートで件数の数値を取得したいマクロ

グーグルスプレッドシートで件数の数値を取得したい


3月3日:138件
この中の138の数値を取得したい

A列に「3月3日:138件」という文字列がある
そこから「138」の数字を取得したい

件数の数字を取得
‘=MID(A4,find(“:”,A4)+1,LEN(A4)-find(“:”,A4)-1)
文字列セル、文字を検索した位置に1文字分加算したところから、文字数から検索文字の位置から1文字少ない

日付を取得
’=MID(A4,1,find(“:”,A4)-1)
文字列セル、文字の最初、文字を検索した位置から1文字前の文字数

エクセル マクロ  ロト6の過去の当選番号と予想番号を比較する

エクセル マクロ  ロト6の過去の当選番号と予想番号を比較する

エクセルオンラインがあれば、マクロも使えます。
つまり、パソコンがネットに繋がっていれば、無料でエクセルが使えるということです。
マイクロソフトもグーグルに負けていられないようで、無料のサービスを展開中です。
今まで、マクロを使うために、Office365と契約していましたが、エクセルオンラインがあればいまのところ毎月約千円を払う必要がありません。

1行に複数の列があって、複数の列で一致する条件で数を数えます。
他の言い方をすれば、科目の列があり、そしてその成績の列ががあったとします。
そしてこの1行が生徒です。
生徒が数十人いたとして、数学の成績がBの人が何人いたのかを探すときに使います。

通常であれば、1列の場合で1列の条件で検索するCOUNTIFが使えますが、複数の列の検索条件では探せません。
そこで、COUNTIFS() 関数を使うのだそうです。

次のサイトを参考にしました。
http://excel.nj-clucker.com/count-with-multiple-criteria-and/
複数の列に一致する条件で行数をcountする

ロト6の過去の当選番号と予想番号を比較して一致する行があればカウントします。
つまり、1以上ならば過去の当選番号と予想番号が一致したことになります。
そして0なら、一致した予想番号はなかったことになります。
いまのところ完全一致でしかカウントしてません。
部分一致なら、COUNTIFを使えばいいのかな?

マクロの説明

画像では6つ書くのが面倒だったので3つまで書いてます。
CountIFS複数条件_xlsx

=COUNTIFS($A:$A,F2,$B:$B,G2,$C:$C,H2)
1番目の検索条件
$A:$A A列 $は絶対参照セルになって、オートフィル(セルコピー)をしてもマクロのセルがずれません。)
F2 検索対象のセル番号
2番めの検索条件
$B:$B B列
G2 検索対象のセル番号
以下同様にカンマで追加していきます。
使い方としては、左側に過去の当選番号をコピペして、右側に自分が予想した番号を入力します。
ここで注意するのは、番号は左側から右側に数字が大きくなる昇順で記入することです。
ランダムに入力してしまうと、列対列で比較するので数字が一致しなくなります。
本当なら、ランダムに入力しても、列対行の複数列で検索できるともっと便利なんですが。
その方法も今後探してみます。

2つのセルが同じ値かを確認したいときは

ちなみに
エクセルでセルに入力した値を比較する単純な方法はEXACTです。
これにより2つのセルが同じ値かを確認できます。

とすると、A1セルとB1セルの値を比較して同じ場合はTRUEとして表示され、違う場合はFALSEと表示されます。

#E1 エクセル マクロを組むまずは最初に覚えること セルとシート(0)

エクセル マクロを組む

まずは最初に覚えること セルとシート(0)

マクロがあるからエクセルを使う人も多いと思います。
マクロを使うことで、数値を計算したり、値を取得して更に編集したりすることができます。
続きを読む