エクセルで作成された帳票化ファイルに簡単に入力したい。[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の範囲については、それぞれの環境で変更しましょう。