だから私は基本的にカレンダーからのデータを含むExcelの行のリストを持っています。それらはすべてそれらを作成した各ユーザーです。ユーザーごとにオブジェクトのコレクションを作成しています。個人を最初のコレクションに追加した後、ユーザー オブジェクト内に「Events」という別のコレクションを作成します。これは、イベントの種類と日付が保存される場所です。コレクション「イベント」に配列を追加するのに問題があります。
「ユーザー」オブジェクトは次のようになります。
ユーザー
-名前
- イベント [イベント 1、イベント 2、イベント 3、...、など]
「Object variable or With variable not set」というエラーが表示されます。このエラーが発生する必要な if ステートメントと else if ステートメントの末尾にある以下のコードの行を以下に示します。
temp.Events.Add arr1
emp2.Events.Add arr2
コード:
Do Until IsEmpty(Cells(i, 5))
Dim name As String
'grab name in cell
name = Cells(i, 5)
'if first list item, add new user
If list.Count = 0 Then
Dim emp1 As New User
emp1.name = name
list.Add emp1
Else
'traverse through list and search for same name
For j = 1 To list.Count
'if name is present, add event data to user object
If list.Item(j).name = name Then
Dim temp As New User
Set temp = list.Item(j)
Dim arr1(2) As String
arr1(1) = Cells(i, 3)
arr1(2) = Cells(i, 1)
temp.Events.Add arr1
'if name is not present, add new user and event data to new user object
ElseIf j = list.Count Then
Dim emp2 As New User
emp2.name = name
Dim arr2(2) As String
arr2(1) = Cells(i, 3)
arr2(2) = Cells(i, 1)
emp2.Events.Add arr2
list.Add emp2
End If
Next
End If
i = i + 1
Loop
これを行う簡単な方法がある場合、またはこれが不可能な場合は、正しい方向に向けてください。どんな助けでも大歓迎です。ありがとう。