エクセルで作成された帳票化ファイルに簡単に入力したい。[vba]
エクセルファイルでこのフォーマットにたくさんの情報をいっぱい入力して欲しいという依頼が良くありますが、あまりにも独特すぎて、入力が大変なんですよね。
入力するためのデータが別に準備できるならマクロで簡単に入力させたいと考えてみました。
まずは、帳票化されたファイルで入力が必要なところをピックアップしましょう。
ここは手作業で、セルを黄色(vbYellow)で塗りつぶします。
帳票化されたファイルってセルが結合されてますね。
左上のセル番号が知りたい
i = Cells(i, j).MergeArea.Row と j = Cells(i, j).MergeArea.Column が一致すれば、
入力できるセルになります。
次に準備した塗りつぶしのところです。
Cells(i, j).Interior.Color = vbYellow この条件も満たすセル番号を抽出しましょう。
コードは次のとおりです。
Sub Check_Leftup_Yellow() Dim sh As Worksheet Set sh = Sheets(1) For i = 3 To 5 For j = 3 To 6 If i = sh.Cells(i, j).MergeArea.Row Then If j = sh.Cells(i, j).MergeArea.Column Then If sh.Cells(i, j).Interior.Color = vbYellow Then Debug.Print "sh.cells(" & i & "," & j & ")" End If End If End If Next Next Set sh = Nothing End Sub
シート番号や、i, jの範囲については、それぞれの環境で変更しましょう。