1

VBAでクラスを使用しようとすると、添え字が範囲外のエラーになり続け、ここでいくつかのヘルプを使用できます。

これはクラスです-

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
4

2 に答える 2

4

メソッドは次のパラメーターLetを使用する必要があります。value

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

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

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

于 2012-04-20T15:29:37.853 に答える
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 。

ブルース

于 2012-04-20T15:03:10.563 に答える