2016-08-08 17 views
0

私はボタンの位置の値を格納するクラスモジュールを使用しています。同じ機能を使用して3つのボタンを連続して追加するため、そのタイプに基づいてボタンを配置するように.leftを変更する必要があります。 「作成」ボタンの値の文字列、値の長さを取得するVBA

すなわち、私は「更新」ボタンの列

ため.Left値を見ていきます、私は列B

ため.Left値について見ていきますボタンを「破壊」、私は列C

ため.Left値を見ていきます私は私のコードで選択した場合を追加することができますが、読みやすくするために、私はそれがクラスモジュールに良く座るだろうと思います。 breakingly私はエラーを取得する

Dim Button As CButton 
sub LetValueForLeft() 
    Set Button = New CButton 
    Button.Left = "Create" 
End Sub 

ハート:

enter image description hereモジュールで

Private pLeft As Long 

Public Property Get Left() As Long 
Left = pLeft 
End Property 

Public Property Let Left(strType As String) 
    Select Case strType 
     Case "Create" 
      pLeft = pRange.Offset(0, 4).Left 
     Case "Update" 
      pLeft = pRange.Offset(0, 5).Left 
     Case "Open" 
      pLeft = pRange.Offset(0, 6).Left 
    End Select 
End Property 

関連する行:

現在、私はクラスモジュールでfollowing-関連する行をやろうとしています

私はこれがLETINですgの文字列と長いとGETing、これの周りの方法はありますか?

は、私は以下の本当に便利なガイドを使用していたが、それはこのような状況については何も言う:

http://www.cpearson.com/excel/classes.aspx

答えて

2
Let

及び財産のGetは、同じタイプである必要があります。私はあなたが何をしようとして正しく理解していれば、あなたは常にLeft読み取り専用のプロパティを作成し、それを初期化する方法を使用することができます。

'Class 
Private pLeft As Long 

Public Property Get Left() As Long 
    Left = pLeft 
End Property 

Public Sub AssignLeft(strType As String) 
    Select Case strType 
     Case "Create" 
      pLeft = pRange.Offset(0, 4).Left 
     Case "Update" 
      pLeft = pRange.Offset(0, 5).Left 
     Case "Open" 
      pLeft = pRange.Offset(0, 6).Left 
    End Select 
End Sub 

あなたはこのようにそれを呼びたい:

Set Button = New CButton 
Button.AssignLeft "Create" 
+0

これは完璧です、ありがとうございます。 – User632716

関連する問題