ツヨブログ

パティシエからエンジニアになったレアな人材スウィーツや料理、VBAやPHPやJAVA、ずっとやってるFXや株など、自身の知識や経験をアウトプットしていくブログ

プログラミング

【VBA】複数のOptionButtonやlabelのcaptionにセルの内容を入れる方法

投稿日:

vbaでFormの操作をすることがあるかと思われまして、デフォルト値をそのままFormに入れたりするのは、カチカチと面倒です

詳細内容の変更などもあったりするので、修正がしやすいようにと、どこかのセルに入力したものを、flameやcheckBoxにそのまま表示される物をVBAで作成しました。

複数のcaptionへセルの内容を表示させるソースコード
Sub insertCaption()

    n = Sheets("1").Cells(1, 1).End(xlUp).Row
    m = Sheets("1").Cells(1, 2).End(xlUp).Row
    w = Sheets("1").Cells(1, 3).End(xlUp).Row
    
    For i = 1 To n
        form1.Controls("OptionButton" & i).Caption = Sheets("1").Cells(i, 1)
    Next i
            
        For i = 1 To m
            form1.Controls("frame" & i).Caption = Sheets("1").Cells(i, 2)
        Next i
    
    For i = 1 To w
        form1.Controls("label" & i).Caption = Sheets("1").Cells(i, 3)
    Next i
    
    form1.Width = 450
    form1.Height = 290
    form1.Show

End Sub

これで1行目から最終行の、セルの内容をform1のそれぞれのcaptionに代入して表示させることができます

ソースコードの説明

ソースコードの説明

変数nの物だけを抜粋してやります。
残りは同じ内容になるので、割愛しますね

n = Sheets("1").Cells(1, 1).End(xlUp).Row

これが、excelのシートタブの1ページ目のA1セルを選択したのち ctrl + ↓を押したときの操作で、最終行のセル情報を変数nへ代入してます

    For i = 1 To n
        form1.Controls("OptionButton" & i).Caption = Sheets("1").Cells(i, 1)
    Next i

これが、form1のOptionButtonの1~複数個のボタンの内容にシート1PのセルA1から最終行までの、内容を挿入するという処理です

繰り返し処理を書けば、たったの3行で終わるので、100個ボタンがあろうと簡単ですね。

シンタックスハイライトを後々入れていきますので、更新をお待ちいただくか、知っている方いれば、ご教授ください

-プログラミング
-, , ,

Copyright© ツヨブログ , 2021 All Rights Reserved Powered by STINGER.