Тема такая. В одной екселевской книге определены функция для получения
массива значений из листа и тип определенный пользователем, который и
используется для этого массива. Тип определен в отдельном модуле и
объявлен как Public.
Ниже текст функции:
Public Function getfirm(fiNum As Boolean, fiName As Boolean, fiForm As
Boolean) As GetDataList.CFirm()
Dim line_s() As GetDataList.CFirm
Dim crange As Range
Dim i As Long
Dim cont As Long
Set crange = Range("a1", Columns.End(xlDown))
cont = crange.Rows.Count
ReDim line_s(cont)
For i = 0 To cont - 1
If fiNum = True Then
line_s(i).SNumber = Range("a" & i + 1).Value
End If
If fiName = True Then
line_s(i).NameFi = Range("b" & i + 1).Value
End If
If fiForm = True Then
line_s(i).Forma = Range("c" & i + 1).Value
End If
'Debug.Print (line_s(i).NameFi)
Next i
'ReDim getfirm(cont)
getfirm = line_s
End Function
Если функция вызывается из этого же модуля, то все работает. Если же из
другой книги то нет. Дает ошибку компиляции: User-defined type not
defined. На первую книгу ссылка установлена.