0

カスタムオブジェクトのコレクションの構築と参照に取り組んでいます。このクラスは CProject と呼ばれ、Name と RefNum の 2 つのプロパティを持ちます。

作成して参照するコードは次のようになります。

Dim Projects As Collection

Sub BuildProjects()
      Dim i As Integer
      Set Projects = New Collection

  For Each c In Worksheets("Active Projects").Range("A4:A750").Cells
    If IsEmpty(c) Then

        'Do some stuff

    Else
        If Projects.Count > 0 Then
           For i = 1 To Projects.Count
                If c.Value = Projects.Item(i).Name Then '<---Error Occurs Here

                    'Do some Duplicate Management Stuff

                End If
            Next i
        End If
    End If
Next
End Sub

このコードを実行すると、エラー 424: Object Required が表示されます。修飾されたオブジェクト識別子を提供していると思います。私がどこで間違いを犯したかわかる人はいますか?

4

1 に答える 1

0

コレクション アイテムはバリアント型であるため、次のように変更できます。

Dim Projects As Collection

Sub BuildProjects()
      Dim i As Integer
      dim var_item as variant
      dim aCProject as CProject

      Set Projects = New Collection

  For Each c In Worksheets("Active Projects").Range("A4:A750").Cells
    If IsEmpty(c) Then

        'Do some stuff

    Else
        For Each var_item in Projects
            set aCProject = var_item
            If c.Value = aCProject.Name Then 

                'Do some Duplicate Management Stuff

            End If
        Next 
    End If
Next
End Sub
于 2013-11-26T14:58:03.253 に答える