この質問は、クラス内のフロー制御、およびクラスサブセットの使用方法や変数のスコープの定義方法についての詳細です。VBAクラス:オブジェクト必須424
このクラスは、あらかじめ定義された範囲を入力(ソース範囲)として取ります。この範囲には、クラスプロパティを検索して使用して、必要に応じてこれらの値を呼び出すためのさまざまなフラグがあります。
フラグを満たす範囲内の特定の領域を収穫するために、インナークラスサブ(またはクラスメソッドの場合)をどのように呼び出すべきかわかりません。あなたは、コードを見れば
、私はコード内のpSourceRange
成功SETすることができましたとしているが(Null
を返す)Title
をゲットプロパティを使用しますが、私は内のサブを呼び出す必要がありますかどうかはわかりませんクラスからそのタイトルを釣り上げるクラス。このクラスは公開か非公開か?それは方法ですか? Range SETまたはTitle GET文の後に実行する必要がありますか?
私は、私は私のコメントがクリアされているかわからない
''''''''''''''''''''''Module Code''''''''''''''''''''''''''
Public Sub AA_StandardCode()
dim testrange as range
'test range does already exist as range
Set TestRange = Range("A1:b100")
Dim HarvestClass As New HarvestCode
Set HarvestClass.SourceRange = testrange
'Error Runtime 424: object required
'HarvestClass.GrabStaticOuterCode(TestRange)
MsgBox HarvestClass.Title
' a Null value is returned, implying nothing was entered
End Sub
''''''''''''''''''''''Class Module Code''''''''''''''''''''
Option Explicit
'Static Contents
Private Const cTitle As String = "1111111,"
Private pSourceRange As Range
Private pTitle As String
Public Property Set SourceRange(Value As Range)
Set pSourceRange = Value
'Error Runtime 424: object required
'GrabStaticOuterCode(pSourceRange)
End Property
Public Property Get Title() As String
'Error Runtime 424: object required
'GrabStaticOuterCode(pSourceRange)
Title = pTitle
End Property
'''''''''''''''
Public Sub GrabStaticOuterCode(pSourceRange As Range)
Dim rng As Range
Dim strTest As String
For Each rng In pSourceRange
strTest = Mid(rng, 1, 4)
Select Case strTest
Case cTitle
pTitle = Mid(strTest, 5, Len(strTest))
Case Else
End Select
Next rng
End Sub
はここにいくつかのコードが実行時エラーを取り除くために修正されています:( ":B100 A1") '' TestRange =レンジの前に 'Set'を使用してください。次に、3つの点で括弧を削除します。例えば、 'HarvestClass.GrabStaticOuterCode(TestRange)'は 'HarvestClass.GrabStaticOuterCode TestRange'になります。 –
投稿する前に物事をきれいにしましたが、私はテストレンジの前にセットを持っていました。 (私は括弧を削除すると、私は今メッセージを受け取ります(プロパティの無効な使用)。しかし、私はソースの範囲をパラメータとして渡す必要はありません()? –
下記の私の答えを見てください。そこにコードがありますが、何も返されません。あなたのデータがどのように見えるか、あなたがメッセージで見たいものはわかりませんが、 。 –