pickup

目次

VBAを使う考え方 その1

こんにちは。伊川(@naonaoke)です。

今回は、SCHOOL OF VBAの知識をどのように使うのかを解説していきます。

コラボ指数という数値をTargetに取込をします。

コラボ指数、Targetについては、動画の最初に説明していますので、参考にしてください。

今回の動画とブログの使い方

動画は、4本くらいになります。

作成したコードを動画で解説しています。

毎回、ファイルをダウンロードしてください。

ファイルには、Excelファイルとメモ帳が同梱されています。

メモ帳のコードを上から順番に、Excelの各モジュールに貼って作動を確認してください。

その際に、時間がかかってもいいので、一行一行確認しながら、作動を確認してください。

貼り方はブログで解説をします。

SCHOOL OF VBAで、スキルを1~3にするといいました。

この動画とブログをマスターすれば、スキル5になることを保証します。

また、質問がある場合は、ブログのコメント欄に記載をお願いします。

不明点はみんなで共有したほうがいいかなと思っています。

Targetというソフトに好きな数値を取り込むには?

レースIDを作成する

レースIDとは16桁~18桁の数字の組み合わせです。

レースIDには、一定のルールがあります。

2020 ⇒ 西暦
0126 ⇒ 日時
06   ⇒ 場所コード(競馬場を指定します)
01   ⇒ 回次
09   ⇒ 日次
11   ⇒ レース番号(11R)
01   ⇒ ゼッケン番号(1番の馬)

202001260601091101というレースIDを有する馬は、ウラヌスチャームという馬になります。

このキーは、ACCESSでいう主キーになります。

コラボ指数取込 作成手順その1 データベース確認


ダウンロードすると、コラボ指数.xlsm というファイルがあります。

そのファイルでコードを仕込んでいきます。

コラボ指数取込 作成手順その2 数値を取り込むには?


赤枠の数値が必要になります。

この数値をコピーして、別シートに貼っていきます。

メルクマールを決める

東京1Rをメルクマールにした理由

東京1Rという値は、C列に一つしかない。

1Rがないということは、絶対にない。

この理由から、東京1Rをメルクマールにしました。

コラボ指数取込 作成手順その3 東京1Rを見つける

Sub セルを見つける() ‘ ①

このコードを標準モジュールに貼り付けます。


東京1Rがアクティブになりました。

コラボ指数取込 作成手順その4 OFFSET関数を利用する

指数は、東京1Rから、3下がり、1右にずれます。

この場合は、OFFSET関数の出番になります。

指数を取り込む目途がたちましたので、その前に下処理をします。

コラボ指数取込 作成手順その5 レースIDを作成する準備

いきなりコードを全部実行しても、意味が分からないので、一行ずつ標準モジュールに貼ってください。

最終列の特定とB列を文字列にする


最終列の特定は上の記事です。

レース番号を抽出する


B列を文字列にするには、1 を01にしなければならないからです。


競馬場の地名を抽出する



レース番号を抽出するための細工





数字のみを抽出できました。

なぜこのような手法を使ったのか?

1Rのとき、Rのみを消すという方法も考えましたが、コードが面倒なのです。

あえて、B列の文字を3文字にしてから、最初の2文字を取り出すという方法を使いました。

ループについてなぜ、(i-5)という方法を使ったのか

上の記事で、cellsの場合は、変数を使って、その変数を足したり、引いたりできると紹介しました。

そのことを紹介したかったのです。

参考にしていただければと思います。

では、その2でまたお会いしましょう。

スポンサーリンク

今回のコードは標準モジュールに記載してください

スポンサーリンク

Twitterでフォローしよう

おすすめの記事