Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 8.1 Pro : Excel 2007)
ラベル名の編集
投稿日時: 19/12/10 18:15:44
投稿者: FILETUBE

こんばんは。 
1つ教えて下さい。
 
  For r = 1 To rng.Row Step 1
           
      lblCOL1 = wks.Cells(r, 1)
          
  Next
 
  rの値が1ならlblCOL1に
  rの値が2ならlblCOL2に
  rの値が3ならlblCOL3に
  
  セットしたいのです。
 
 lblCOL & cstr(r) = wks.Cells(r, 1)
 
  ではエラーになります。
 
 どのようなコードになるのでしょうか。
 わかる方おられましたら
 宜しくお願いします。
  

回答
投稿日時: 19/12/10 19:55:16
投稿者: WinArrow
投稿者のウェブサイトに移動

ラベル
は、どこに作成したラベルでしょうか?
 

投稿日時: 19/12/10 20:40:25
投稿者: FILETUBE

 すいません説明不足で。
ユーザフォームに作成した
ラベル1〜3です。

回答
投稿日時: 19/12/10 20:50:55
投稿者: よろずや

Me.Controls("lblCOL" & r).Caption = wks.Cells(r, 1).Value
 
ではいかがでしょう。

回答
投稿日時: 19/12/10 20:58:27
投稿者: WinArrow
投稿者のウェブサイトに移動

ユーザーフォームでしたら
 
Me.Controls(名前)が使えます。
↓のような感じでいかが?
 
Dim ctrl As MSForms.Control
    For Each ctrl In Me.Controls
        If TypeName(ctrl) = "Label" Then
            If ctrl.Name = "lblCOL" & r Then
                ctrl.Caption = wks.Cells(r, 1).Value
                Exit For
            End If
        End If
    Next

投稿日時: 19/12/11 13:01:13
投稿者: FILETUBE

 よろずやさんWinArrowさん
回答ありがとうございました。
 
今回
Me.Controls("lblCOL" & r).Caption = wks.Cells(r, 1).Value
で解決しました。
 
本当にありがとうございました。