第11回 騎手/調教師成績を出馬表に反映

スポンサーリンク
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シートにボタンを配置して実行したいマクロを登録します

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

コメント

タイトルとURLをコピーしました