2016-07-21 6 views
0

Я получаю сообщение об ошибке «Недопустимое свойство» для .Caption =. Любые идеи почему? TabData - это мое имя пользовательской формы, а HiddenLabel - мое имя ярлыка. RList() - массив, который я пытаюсь индексировать, чтобы найти самый большой элемент. Спасибо за помощь!VBA Excel: Недопустимое свойство

For l = 1 To R_win 
     Set TabData.HiddenLabel.Caption = RList(l).Value 
     w = HiddenLabel.Width 
     If w > m Then 
      m = w 
     End If 
    Next l 

ответ

1

если Rlist() является массив, то используйте:

TabData.HiddenLabel.Caption = Cstr(RList(l)) '<-- CStr() function converts the array content into a string 

иначе сказать нам, что Rlist() является ...

+0

Это сработало! Спасибо! – Liz

+0

приветствуются – user3598756

0

У вас нет Set свойство Caption. Это строка, а не объект. Вы должны сделать это:

Dim obj As Variant 
Set obj = TabData.HiddenLabel 
obj.Caption = RList(l).Value 

Или просто опустить Set ключевое слово и использовать:

TabData.HiddenLabel.Caption = RList(l).Value 
+0

Я получаю несоответствие типов для Set obj = ... – Liz

+0

Извините, объявите obj как 'Variant'. Я обновил ответ. – nunzabar

+0

afaik Variant - это не объект, поэтому вам не нужно использовать Set как дополнение – prizm1

Смежные вопросы