前提
はじめまして。
初めてteratailに登録して質問します。
失礼あれば申し訳ありません。
VBAでクラスモジュールを練習していますが、
流れやルールがいまいち理解できず苦戦しております。
よろしくお願いします。
実現したいこと
class1で各列の設定
class2で二次元配列格納
メインのsubプロシージャで出力・調整
のようなことを目指しているのですが
格納までは出来たのですが配列から取り出せない状況です。
発生している問題・エラーメッセージ
エラーメッセージ ```SubまたはFunctionが定義されていません。 ### 該当のソースコード ```VBA /////Quake(class1) Private OccursDay_ As Date Private Intensity_ As String Public Property Get OccursDay() As Date OccursDay = OccursDay_ End Property Public Property Let OccursDay(ByVal var As Date) OccursDay_ = var End Property Public Property Get Intensity() As String Intensity = Intensity_ End Property Public Property Let Intensity(ByVal var As String) Intensity_ = var End Property --------------------------------------------------------------------- /////Quakes(class2) Private Sub Class_Initialize() Dim Earray() As Quake Dim i As Long Dim Count As Long: Count = 1 Dim LastRow As Long LastRow = Sheet1.Cells(Rows.Count, 1).End(xlUp).Row With Sheet1 For i = 2 To LastRow ReDim Preserve Earray(Count) Set Earray(Count) = New Quake Earray(Count).OccursDay = .Cells(i, 1) Earray(Count).Intensity = .Cells(i, 8) Count = Count + 1 Next End With End Sub Public Property Get q_(ByVal var As Variant) As Quake q_ = Earray(var) End Property ------------------------------------------------------------------------ /////標準モジュール Sub test() Dim q As Quakes: Set q = New Quakes Debug.Print q.q_(1).Intensity End Sub
試したこと
Class2のGetプロパティを色々設定してみましたが、
配列をtestプロシージャから取得出来ません。
補足情報(FW/ツールのバージョンなど)
Windows11
Office365
回答1件
あなたの回答
tips
プレビュー