私は "l_MBout"、 "l_MBin"、 "l_Fin"という名前のラベルをいくつか持っています。キャプションの値は "MBout"、 "MBin"、 "LFin"などの変数に格納されます(これらの整数は常に対応するラベルのように名前が付けられ、 "l_"は付けられません)。私の考えはラベルと変数を持つループごとに
(「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")
の配列を定義し、ラベルに変数から値を書き込むために、このようなものを使用する
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