При передаче рабочего листа в метод объекта класса я получаю:
Ошибка 91: переменная объекта или переменная блока не задана.
Проблема в том, что я не знаю, где это, я не установил объект.
Dim WS As Worksheet
Set WS = oExport.ExportSheet(oExport.WB)
Dim testint As Integer
Dim oAsset As clsAsset
testint = oAsset.AssetIDCol(WS)
Я проверил, и объект листа правильно задан в строке 2 кода. Ошибка возникает при назначении значения переменной 'testint'. Вот свойство .AssetIDCol()
из моего свойства clsAsset:
Option Explicit
Private priv_asset_id_col As Integer
Public Static Property Get AssetIDCol(WS As Worksheet) As Integer
If Not priv_asset_id_col = Null Then
AssetIDCol = priv_asset_id_col
Exit Property
End If
Dim rngX As Range
Dim Val As Variant
Dim i As Integer
Set rngX = WS.UsedRange '.Rows(1) '.Find(SearchVal, LookAt:=xlWhole)
For i = 1 To rngX.Columns.Count
If InStr(priv_asset_id_col_name, rngX.Cells(1, i).Value) > 0 Then
AssetIDCol = i
priv_asset_id_col = i
Exit Property
End If
Next i
AssetIDCol = 0
End Property
Как исправить эту ошибку? Свойство Get
возвращает целое число, поэтому я не уверен, где мне не удается использовать Set
при создании экземпляра.