次のような入力フォームや指定様式のようなワークシートがあったとします。入出力する箇所が点在しており、コ-ディングする際にセル番号の確認が煩雑になる場合がありますが、あらかじめ処理に必要なセル範囲をクラス化すれば都度確認が不要になります。
1.クラスモジュールを追加します。
2.クラスモジュールの名前をプロパティで変更します。ここでは「CommonWorksheetRange」とします。
3.クラスモジュール_CommonWorksheetRangeをコーディングします。
クラスモジュール_CommonWorksheetRange
Property Get 印刷シート_住所() As Range
Set 印刷シート_住所 = Worksheets("印刷シート").Cells(2, 3)
End Property
Property Get 印刷シート_氏名() As Range
Set 印刷シート_氏名 = Worksheets("印刷シート").Cells(4, 3)
End Property
Property Get 印刷シート_電話番号() As Range
Set 印刷シート_電話番号 = Worksheets("印刷シート").Cells(7, 3)
End Property
4.使いたいモジュールの宣言セクションで宣言すると、インテリセンスにより自動メンバ表示が使えます。
5.使用例
標準モジュール_Module1
Public wsRng As New CommonWorksheetRange
Sub テスト()
wsRng.印刷シート_氏名.ClearContents
wsRng.印刷シート_住所.ClearContents
wsRng.印刷シート_電話番号.ClearContents
End Sub
クラスモジュール_CommonWorksheetRange
Property Get 印刷シート() As Range
With Worksheets("印刷シート")
Set 印刷シート = Range(.Cells(2, 3), Cells(4, 3), Cells(7, 3))
End With
End Property
標準モジュール_Module1
Public wsRng As New CommonWorksheetRange
Sub テスト2()
wsRng.印刷シート.ClearContents
End Sub