ошибка с пользовательским типом

Программирование на Visual Basic for Applications
maaxflyer
Начинающий
Начинающий
 
Сообщения: 2
Зарегистрирован: 29.10.2003 (Ср) 14:44

ошибка с пользовательским типом

Сообщение maaxflyer » 29.10.2003 (Ср) 14:49

Тема такая. В одной екселевской книге определены функция для получения

массива значений из листа и тип определенный пользователем, который и

используется для этого массива. Тип определен в отдельном модуле и

объявлен как 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. На первую книгу ссылка установлена.

corgi
ToyMan
ToyMan
 
Сообщения: 1367
Зарегистрирован: 01.10.2002 (Вт) 9:59
Откуда: Россия, Москва

Сообщение corgi » 29.10.2003 (Ср) 15:20

а
Код: Выделить всё
GetDataList.CFirm()

что за функция она то public или нет
Ничто так не ограничивает полёт мысли программиста, как компилятор

maaxflyer
Начинающий
Начинающий
 
Сообщения: 2
Зарегистрирован: 29.10.2003 (Ср) 14:44

Сообщение maaxflyer » 29.10.2003 (Ср) 15:33

GetDataList это отдельный пользовательский модуль, в нем и определен тип CFirm как Public и еще одна функция, которая ни на что не влияет.


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 71

    TopList