Я пытаюсь реализовать пользовательскую форму. У меня есть несколько ярлыков с именем «l_MBout», «l_MBin», «l_Fin» и многие другие. Значения для титров хранятся в переменных, называемых «MBout», «MBin», «LFin» и т. Д. (Они рассчитаны целыми числами - всегда называются соответствующими метками, но без «l_»). Моя идея состояла в том, чтобы определить массив для метокДля каждого цикла с метками и переменными
Public labelarray As Variant
labelarray = Array("l_MBin", "l_MBout", "l_Gin", "l_Gout", "l_Fin", "l_Fout", "l_DLZMB", "l_DLZG", "l_DLZF")
и использовать что-то вроде этого, чтобы записать значения из переменных этикеток (удаление переднего «l_»)
Public lbl As Variant
For Each lbl In labelarray
If Right(lbl, Len(lbl) - 2) > 0 Then
Managementsitzung.Controls(lbl & i1).Caption = Right(lbl, Len(lbl) - 2)
Else
Managementsitzung.Controls(lbl & i1).Caption = "-"
End If
Next lbl
но кажется
Right(lbl, Len(lbl) - 2)
не связан с переменной (мое предположение это все еще строка)
Есть ли способ сделать это?
Что такое 'i1' и есть ли элементы управления в вашей форме с именем' l_Mbout & i1'? Итак, если 'i1 =" someName ", тогда должны быть элементы управления с именем' l_MBinsomeName', 'l_MBoutsomeName',' l_GinsomeName' и т. Д. – Ralph
«i1» исходит из другого цикла (3 строки меток). в любом случае, нашел решение (см. ниже). Спасибо :) – Moritz