may the VBA be with you

Excel VBAとか業務自動化とか

Excelでドット絵作成ツールを作る その1

はじめに

先週までブロック積みゲー

vba-belle-equipe.hatenablog.com

を作っていました。

その中で意外と時間を使ったのが、ご褒美画面。

f:id:vba-belle-equipe:20160420181756p:plain


なんでExcelでドット絵描くのこんなにめんどくさいんだよー*1

と、誰に頼まれたわけでもないのに頑張ってドット絵を描きながら、考えていたのが今回のツールです。

完成予想図

とりあえず、こんな感じになればいいな、というシートを作ってみました。

f:id:vba-belle-equipe:20160425160939p:plain

機能はそんなになくてもいいから、使いやすくできればいいなと。

言いつつも色々と追加しそうな感じもあるので、結構長期シリーズになるかもしれないなと。


マクロを使うので、「元に戻す」あたりをどうするかな、という感じです。*2

コード

現時点でのコードは

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  Dim clr1 As Long  '描画色
  Dim r As Range
  Dim minCol As Long, maxCol As Long
  Dim minRow As Long, maxRow As Long
  If Target.Count > 100 Then
    Exit Sub
  End If
  clr1 = Range("B4").Interior.Color
  minCol = 5
  maxCol = 22
  minRow = 2
  maxRow = 29
  For Each r In Target
    If minCol <= r.Column And r.Column <= maxCol And _
        minRow <= r.Row And r.Row <= maxRow Then
     ' Debug.Print r.Address
      r.Interior.Color = clr1
    End If
  Next
End Sub

こんな感じです。

シートモジュールで、特定の範囲が選択された時に「描画色」セルの色に変える、という感じにしています。

*1:ドット絵作成のためのソフトじゃないから

*2:しれっと無くなっているかも