Option Explicit '前職分源泉徴収票クラス 'プロパティはメンバー以外アクセスできない 'プロパティの実体 Private mlngKingaku() As Long 'mlngKingaku(0):主キー 'mlngKingaku(1):外部キー 'mlngKingaku(2):総支給額 'mlngKingaku(3):社会保険料額 'mlngKingaku(4):所得税額 'プロパティの値を取得 Public Sub GetProperty(ByVal objws As Worksheet, ByVal lngRow As Long, ParamArray vntData() As Variant) '引数[objWS]:ワークシート '引数[lngRow]:レコード '引数[vntData]:データ Dim i As Integer '整数型カウンタ Call GetData(objws, lngRow) For i = 0 To 4 vntData(i) = mlngKingaku(i) Next End Sub 'プロパティに値を格納 Public Sub LetProperty(ByVal objws As Worksheet, ByVal lngRow As Long, ParamArray vntData() As Variant) '引数[objWS]:ワークシート '引数[lngRow]:レコード '引数[vntData]:データ Dim i As Integer '整数型カウンタ For i = 0 To 4 mlngKingaku(i) = CLng(vntData(i)) Next 'ワークシートへ書き出し Call LetData(objws, lngRow) End Sub 'ワークシートの値を取得 Private Sub GetData(ByVal objws As Worksheet, ByVal lngRow As Long) '引数[objWS]:ワークシート '引数[lngRow]:レコード Dim i As Integer '整数型カウンタ For i = 0 To 4 mlngKingaku(i) = CLng(objws.Cells(lngRow, i + 1).Value) Next End Sub 'プロパティの値の書き出し Private Sub LetData(ByVal objws As Worksheet, ByVal lngRow As Long) '引数[objWS]:ワークシート '引数[lngRow]:レコード Dim i As Integer '整数型カウンタ For i = 0 To 4 objws.Cells(lngRow, i + 1).Value = mlngKingaku(i) Next End Sub 'クラスインスタンス時 Private Sub Class_Initialize() '配列再定義 ReDim mlngKingaku(4) As Long End Sub 'クラス開放時 Private Sub Class_Terminate() '配列の開放 If IsEmpty(mlngKingaku) = True Then Erase mlngKingaku End Sub