楽しそうなアプリをいろいろ試す – セルのサイズを一発設定するマクロ

Excel アニメーションを作るのにあたっては、自分の描きたい範囲のセルの大きさ(幅、高さ)はみな同じサイズにしておきたくなると思います。この記事は、そんな作業を一発でできてしまう方法をお教えします。

手動でサイズを設定する

Excelを起動した直後は、このように横長のセルが表示されます。

セルの大きさはどのくらいでしょう?測り方はいろいろありますが、次の方法が一番手軽です。

  1. 列(A, B, C…)や行(1, 2, 3…)の境界線にマウスを合わせます。
  2. マウスの左ボタンを押しっぱなしにします。
  3. マウスポインタのすぐ横に下図のように現在の数値がポップアップで表示されます。

ここに現れる数値(例:左図の8.44)ですが、「標準フォント(初期設定では「MS Pゴシック」や「遊ゴシック」の11ポイント)の数字の「0」がいくつ入るか」を単位としたものなので、Excelアニメーションでは、あまり役に立ちません。カッコ内のピクセルの方を意識しましょう。

サイズを変えるのは、もちろん、手動でできます。列幅だったら、複数列をドラッグして選んでおき、そのうちの1つの列の幅を変えれば、選んだ列は同じ幅になります。高さも同様です。

ただ、セルの数を200×200くらいでドット絵を描こうとすると、ちょっと面倒なんですよね。マウスの誤操作でセルの長さがずれることもよくあり、その度にいちいち数値を合わないといけません。いら、っとしちゃいます。

方眼紙作成マクロ

そんなこともあり、一発でセルサイズを調整して、肝心のアニメーションプログラムに専念できるマクロを作ってみました。題して、「方眼紙作成マクロ!?」。以下がそのコードです。

' ==========================================
'  名称:ピクセル指定で「完璧な方眼紙」を作成
'  機能:1辺のサイズをピクセル単位で指定して正方形にする
' ==========================================
Sub CreatePerfectSquareGrid()
    Dim targetRange As Range
    Dim targetPix As Double
    Dim currentWidthPoints As Double
    
    ' --- 1. 設定:ここにお好きなピクセル数を入力 ---
    targetPix = 20 ' 例:20ピクセル(約5mm幅)
    ' -------------------------------------------
    
    ' 対象範囲を指定(例:1行1列目から250×250の範囲)
    Set targetRange = ActiveSheet.Cells(1, 1).Resize(250, 250)
    
    Application.ScreenUpdating = False ' 画面更新を停止して高速化
    
    ' 2. 列の幅をピクセルから逆算して設定
    ' ※標準フォントにより係数が変わるため、一旦近似値を入れる
    targetRange.ColumnWidth = targetPix / 7.5
    
    ' 3. 実際に設定された列の「ポイント幅」を正確に取得
    ' ※Excel内部では「ポイント」で高さを制御するため
    currentWidthPoints = targetRange.Columns(1).Width
    
    ' 4. 行の高さを「列の幅(ポイント)」と完全に一致させる
    targetRange.RowHeight = currentWidthPoints
    
    Application.ScreenUpdating = True ' 画面更新を再開
    
    MsgBox targetPix & "ピクセルの正方形で方眼紙を作成しました!", vbInformation
End Sub

これをまっさらな新規Excelに組み込みます。「開発」メニューから、「Visual Basic」をクリックし、メニュー「挿入」‐「標準モジュール」を選択します。(この辺りがよくわかならい、という方は、「楽しそうなアプリをいろいろ試す – Excel ドット絵作成」を是非お読みください。入門の入門になっています。)

表示されたエディタに、上記のコードをそのままコピーします。

セルの大きさや範囲を自分で調整します。メニュー下の「実行」ボタン(▶)をクリックすると、方眼紙の完成です。

何度か数字を変えて、自分の気に入るサイズを見つけてみてください。これで煩わしいセル調整から解放されますね!


コメント

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