2012-04-20 8 views
1

VBAでクラスを使用しようとすると、添え字が範囲外になり続けるため、ここでいくつかの助けを得ることができます!VBA/VBのクラスメソッド

これはクラスである -

Option Explicit 
Private buildWs As String 
Public Property Get affBuild() As String 
    affBuild = buildWs 
End Property 

Public Property Let affBuild(value As String) 
    buildWs = affBuild 
End Property 

Public Function activate() 
    Sheets(buildWs).activate 
End Function 

これは呼び出しです -

Sub SetWs() 
    Dim current As CBuildSheet 
    Set current = New CBuildSheet 
    current.affBuild = "Resource Entry" 
    current.activate 
End Sub 

答えて

3

これは間違っている...

Public Property Let affBuild(value As String) 
    buildWs = affBuild 
End Property 

とする必要があります...

Public Property Let affBuild(value As String) 
    buildWs = value 
End Property 

を参照してください。クラスを使い始めるためのhttp://ramblings.mcpher.com/Home/excelquirks/snippets/classes

ブルースはあなたのLet方法がvalueパラメータを使用する必要があります

4

Public Property Let affBuild(value As String) 
    buildWs = value 
End Property 

はあなたのPublic Function activate()は、任意の値を返していません。

おそらく、Public Sub activate()を使用する必要があります。

+0

ありがとうございました - 私はその価値の部分をどのように逃したのか分かりません。 – dmwatson0101