CSVファイルを自動で作成 ボタン一発で完成

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

今回は、CSVファイルをボタン一発で作成します。

CSVファイルは、みなさんの実務でもよく利用すると思います。

私の本業は、普通のサラリーマンなのですが、自称、競馬研究家でもあります。

競馬においてが、CSVファイルの作成が必須なのです。

今までは、馬券を手動で購入していました。

しかし、これが面倒なのです。

しかも、ヒューマンエラー、つまり、間違えて馬券を購入する可能性もあります。

私的には、結構あるあるな事です。

今回は、購入したい馬券を、ボタン一発でCSVファイルに変換する方法を紹介します。

このブログはこんな人にお勧め

このブログはこんな人にお勧め
  • ExcelVBAを勉強している人
  • CSVファイルを、手動で作成している人
  • できるだけ、業務を自動化したい人

このブログを、読み終わるころには・・・・

CSVファイルをボタン一発で作成できるようになります。コード自体は長いですが、完全にコピペで作動します。

何よりも、VBAを勉強すると、ボタン一発で完結できるということを楽しんでください。


スポンサーリンク

CSVファイルとは

CSVファイルとCSVはそもそも「Comma Separated Value(=カンマ(,)で区切った値)」の頭文字をとって名付けられました。

そのため、Excelで表形式で表されているデータは、CSVではカンマで区切ったシンプルなテキスト形式で表現されます。

データのやり取りで頻繁に使われるCSVファイルですが、普段何気なく使っているもののExcelファイルとどう違うのかと疑問に思う方も少なくないのではないでしょうか?

CSVファイルは互換性が高く、Excelのみならずメモ帳、メールソフト、データベースソフトなどほとんどのソフトに取り込んで閲覧、編集することが可能です。

CSVファイルを用いることになるのは主に以下のような場合です。

CSVファイルの役目
  • Excel・データベースソフト間でファイルをやり取りする
  • Excelを持っているか不明な相手にデータを送る
  • ファイルのデータ容量を軽くする
  • 表計算データをオープンソースで配布する

ただ、これは、ビジネス上の話であって、私は、とにかく、馬券を購入したい一心で作成しました。

馬券自動購入システム 作業手順 その1 Excelのセルを文字列に変更

競馬では、レースIDというものがあります。

レースIDは、16桁の数字です。

ところで、Excelには、下記のような条件があります。

Excelあるある
  • エクセルで有効な桁は15桁まで
  • 初期設定だと、表示されるのは11桁まで。それ以上は指数表示になる。
  • 表示形式を[数値]に変更すると15桁まで表示できる。
  • 表示形式を[文字列]に変更すると1,024文字まで表示できる。

よくExcelで、桁が大きくなると、下記のような理屈で1E+3のように表示されます。

1,000……1E+3(=1*10*10*10)

10,000……1E+4(=1*10*10*10*10)

100,000……1E+5(=1*10*10*10*10*10)

【2020110703030301】を、そのままセルへ入力すると、【2.02011E+15】と表示されます。

この時点で、挫折しそうになります。

指数表示になると何もできません。

なので、あらかじめ、16桁以上の数字が入力される場所は、文字列に変更しておく必要があります。

馬券自動購入システム 作業手順 その2 データベース確認


KF3_Cとは、完全に競馬なので無視してください。

要するに、KF3_Cで、3以上のデータが欲しいのです。

馬券自動購入システム 作業手順 その3 セルBIを起点にソートする

表全体を選択するには、CurrentRegionを使います。

このCurrentRegionは、一瞬で、表を選択してくれます。

ぜひ、覚えて実務で利用してください。

引数内容
引数「Key1 ~ 3」省略できます。並び替えのキーになる列のセルを指定します。
引数「Order1 ~ 3」xlAscending:昇順 xlDescending:降順
引数「Type」省略できます。ピボットテーブルを並び替えるときに指定します。
引数「Header」省略できます。先頭行をタイトル行とするかを指定します。
xlGuess:タイトル行か自動設定
xlNo:タイトル行ではない
xlYes:タイトル行
引数「OrderCustom」省略できます。並び替えの順序を指定します。
引数「MatchCase」省略できます。大文字と小文字を区別するか指定します。
True:区別する
False:区別しない
引数「Orientation」省略できます。ふりがなを使うか指定します。
xlPinYin:ふりがなを使う
xlStroke:ふりがなを使わない
引数「DataOption1 ~ 3」省略できます。数値と文字列を別にして並び替えるかを指定します。
xlSortNormal:数値と文字列を別に並び替える
xlSortTextAsNumbers:数値と文字列を同様に並び替える

ソートで検索すると、結構上の表のように、難しいことが記載されています。

VBAでソートを実行したい場合は、今回紹介したコードで十分だと思います。

そんなに、難しいソートは不要だと思います。

馬券自動購入システム 作業手順 その4 BI列から3を見つけて、必要な情報をコピー

このコードは、BI列から、3を最初に見つけます。

そして、最初に見つけた3を起点に、向かって左側へ60セル分移動します。

60セル分移動したセルが選択されます。(ActiveCell)

その選択したセルから、一番下までをコピーします。

馬券自動購入システム 作業手順 その5 転記した情報を整形する

完成図のフォーマットを掲載する。

元となるデータは、【202011070303030101】です。


赤のアンダーラインのとこのみ、【202011070303030101】のデータを整形します。

他のところは、定型句なので、特に気を使わなくても大丈夫です。

これで完成です。

馬券自動購入システム 作業手順 その6 CSVファイルで出力


難しいコードと思うかもしれませんが、すべてコピペで作動します。

コピペで使うなら、変更点が1箇所です。

Worksheets(5)が、CSVファイルとして、出力されるデータが記載されています。

Sheetが、3なら、Sheet(3)と変更します。

あとはすべて、コピペで作動します。

ここがポイント

ここがポイント
Function8.pngいつも、馬券を購入する際に40分くらい時間を使います。

40分の節約もそうなのですが、精神的負担が軽くなりました。

間違えないようにと思いながら、神経を使っても購入するよりも、

Excelがすべて自動でやってくれます。

こんなに便利なことはないです。

今回は、競馬ネタですが、ぜひ、みなさんも、VBAを利用して、業務の時間短縮を実現してください。

動画とブログでわかりやすくExcelとACCESSを紹介しています

まとめ

業務短縮は、VBAを利用してもたった10分の時間短縮です。

しかし、その積み重ねが、膨大な時間節約になります。

ぜひ、VBAのスキルを習得してください。

今回も最後まで読んできただき、ありがとうございました。

今回のサンプルファイルは、No185です。

サンプルファイルを購入希望の方はココをクリック
サンプルファイル
VBAを勉強中の悩みを解決
  • なんで動かないの?
  • もうやだ!
  • どこにも情報がない!
スポンサーリンク

Twitterでフォローしよう

おすすめの記事