Callステートメントで一括処理
第8回オッズから勝負気配を読み取る<1>の「まとめて実行」で、複数のプロシージャを一連の処理として実行するために「Sub実行()」でCallステートメントを使いました。
上記第8回で追加した標準モジュール「b_出馬表作成」内の「Sub実行」プロシージャ「1」の位置に「Callリーディング反映」を追加してください(この下を参考↓)。
以下のプロシージャは第8回オッズから勝負気配を読み取る<1>での記述の再掲です
標準モジュール b_出馬表作成
Option Explicit
Dim ws2 As Worksheet, ws3 As Worksheet
Dim ws4 As Worksheet, ws5 As Worksheet
Dim tosu As Long
Dim rowTop As Integer
Dim c As Range
Sub 実行()
Application.ScreenUpdating = False ' 画面更新停止(計算中は画面が固定)
Call odds表作成
Call 出馬表作成
Call 人気順オッズテーブル
Call 枠連人気順縦並べ
Call 馬連人気順縦並べ
Call 馬単人気順縦並べ
Call オッズ彩色
Call リーディング反映 '1 この部分を追加します
Set ws2 = Worksheets("Preview")
ws2.Activate
Range("a1").Select
Application.ScreenUpdating = True '画面更新再開
End Sub
Sub 全消去()
Set ws2 = Worksheets("Preview")
Set ws3 = Worksheets("InpOds")
Set ws4 = Worksheets("Calc")
'Prev_tableの消去
ws2.Range("b7:n24").Clear
'Prev_oddsの消去
ws2.Range("p6:ax420").Clear
ws2.Range("p6:ax420").UnMerge
'InpOds消去
ws3.Range("b7:r364").ClearContents
'Calcシートの消去
ws4.Range("b3:r20").Clear
ws4.Range("s25:aw86").Clear
End Sub
Sub 出馬表作成()に続く
クリック一発でアクション実行
フォームコントロールボタンを使用して、ユーザーがクリックしたときにアクションを実行するマクロを実行できます。InpOdsシートにボタンを配置して実行したいマクロを登録します

かいせつ
- ボタンをクリックするとPreview、InpOds、Calcシートの入力済み範囲を消去して、B7がアクティブセルになって単勝・複勝の複写を待ちます
- オッズの複写が終わったら「2」のボタンをクリックすることで出馬表の騎手名、調教師名をランキングごとの設定に従い、セルやフォントに彩色することを実行します
実行してみます
- InpOdsシートのセルD3のプルダウンで競馬場を選択します
- 「全消去後、出馬表/オッズペースト」ボタンをクリックします
- JRAサイトから対象レースの単勝/複勝をコピー
- InpOdsシートに戻り[ctrl+a]でペースト
- 枠連オッズをコピーしたら[Tabキー]を押下してペースト
- 同様に馬連・馬単のオッズをコピーとペーストを繰り返します
- 馬単オッズのペーストが終了したら「出馬表作成」ボタンを押下して実行します
- Previewシートに結果が表示されます

コメント