Имя переменной в другой переменной

Dragin
Дата: 12.09.2005 14:47:06
Заранее спасибо.
С полем работает
Dim namecontol as strind
namecontrol = "N1"
me(namecontrol).Top = 1215
а как с массивом
Dim namedim as string
Dim Ref1(40,10), Ref2(40,10), Ref3(40,10)
namedim = "Ref2"
me(namecontrol).Top = namedim(1, 7)
Тяп-ляп
Дата: 12.09.2005 15:10:02
Напиши функцию, которая будет возвращать индекс элемента массива по его содержимому.
AlTis
Дата: 12.09.2005 15:23:29
Dragin
Заранее спасибо.
С полем работает
Dim namecontol as strind
namecontrol = "N1"
me(namecontrol).Top = 1215
а как с массивом
Dim namedim as string
Dim Ref1(40,10), Ref2(40,10), Ref3(40,10)
namedim = "Ref2"
me(namecontrol).Top = namedim(1, 7)

Вопрос какой?
Научить работать с массивом?
fssffs
Дата: 12.09.2005 15:44:09
Dim cntl As Control


For Each cntl In Me.Controls
    Debug.Print cntl.Name; cntl.Top; cntl.Left; cntl.ControlType; cntl.Tag
    
Next cntl
Dragin
Дата: 12.09.2005 15:45:57
Ничего не понял
Соощите пожалуйста, что непонятного в моем вопросе ?
AlTis
Дата: 12.09.2005 15:51:49
Dim namedim as string
Dim Ref1(40,10), Ref2(40,10), Ref3(40,10)
namedim = "Ref2"
me(namecontrol).Top = namedim(1, 7)
Что ты хочешь сделать с помощью описанной выше инструкции?

Dim namedim as string

me(namecontrol).Top = namedim(1, 7)
N_A
Дата: 12.09.2005 16:01:43
ИМХО в вба нет указателей в чистом виде.
вывернись так
Dim L(2, 2) As Long
Function fnL(i As Long, j As Long) As Long
    fnL = L(i, j)
End Function
Sub test2()
Dim s As String
    L(2, 2) = 100
    s = "fnL"
    Debug.Print Eval(s & "(2, 2)")
End Sub
Dragin
Дата: 14.09.2005 09:30:11
Я поступил проще
Public TLabel as integer
Public Ref(40,10,10) '(control, ref, tlabel)
Присваиваю когда надо зачение TLabel
Tlabel=1
me(namecontrol)=Ref(40,2,Tlabel)
Называется выбрал свойства контролов нужного макета этикетки, т.о. проблема решена.