タイダログ

もっと怠けますか? (y/n)

まくろ☆マギカ [真編] 追憶の物語

私と VBA の出会いの話。ほんとうの始まりへ


先日こんなツイートを見つけました。すごいですね。

左から右へ横方向に一列ずつ描画する様子は、10年以上前にダイヤルアップ接続でインターネットをしていた時のことを彷彿とさせます。画像の描画が遅かったなぁ。

なんてことを思いながら見ていると、ふと、自分も以前これと似たマクロを作ったことを思い出しました。前回まで Excel 勤怠管理簿の話をお送りしてきましたが、実はそれ以前にもマクロを触ったことがあったのです。

taidalog.hatenablog.com

taidalog.hatenablog.com

作ったもの

セルを使って鹿目まどかのドット絵を描くマクロです。これを作ったのは大学1年の夏。他にすることはなかったのか。

ちなみに VBA ではなく、マクロの記録で作成しました。

手順

コードを消してしまったため(後述)、実際の手順は遺物(完成したドット絵と作業用シート)と伝承(私の記憶)を頼りに推察するほかありません。ロマンがありますね。

現在最も有力な仮説

  1. どこかから元の絵を探してくる
  2. 絵を見ながら手作業でドット絵を描く(作業用シート)
  3. 色の違いを見やすくするため、セルに色ごとの番号を振る(全11色)
  4. 作業用シートとは別のシートを用意する(清書用シート)
  5. マクロの記録を開始する
  6. 作業用シートを見ながら、清書用シート中のピンクに塗るセルを ctrl + クリック で全て選択する
  7. 6.で選択したセルを一括で着色する
  8. 6.-7. を各色分繰り返す
  9. マクロの記録を終了する

6.のセルを選択する作業が大変だったのをよく覚えています。たしかこのために複数セルを選択する方法を調べたと思います。

f:id:taidalog:20210214002146p:plain
作業用シート

f:id:taidalog:20210214002206p:plain
清書用シート

マクロなしのブックとして保存してしまう

賢い私はドット絵を描く段階からこまめにファイルを上書き保存していました。ところがこの頃はまだ VBA なんぞ露ほども知らず、よって拡張子は .xlsx で保存しています。

そんなわけですから、マクロを作成したあと再度上書き保存しようとするとこれが出るわけですね。

f:id:taidalog:20210214002214p:plain
上書き保存の際にマクロを保存するかどうか確認するダイアログボックス

私はここで[はい]をクリックしました。やってしまいましたな。

こうして文献(コード)は失われたのです。

推察を終えて

これが私にとって正真正銘の最初のマクロでした。手順は概ね上記の通りだと思います。

振り返ってみると、プログラミングの経験なんて微塵もなかった割には順序立てて考えていると感じます。セルを複数選択してから一括で着色するのは手間を減らす工夫ですし、セルに色の番号を振るのはミスを減らす工夫と言えるでしょう。昔から楽をする方法ばかり考えていたんですね。

マクロの記録で作ったとはいえ、一度は VBE を開いてコードをいじろうとしたことも覚えています。たしかコードをより短く簡潔に書き換えようとした気がします。ほんとに考えること変わってないな。