• ベストアンサー

Excel VBA UserForm button

ExcelVBAのことで教えてください。 classmoduleは使ったことはありませんが、今回使うのではないかと・・・ 知りたいことは、 シート(目次)のセルA1~A36に名前を入力するとこがあります。 例えばA1に名前を入力すると UserFormにA1の値のCommandbuttonが追加されるようにし 13個目で1個横にずれていく(画像参照)には どのようにすればいいのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

> シート(目次)のセルA1~A36に名前を入力するとこがあります。 ・名前を変更した時は、どうなるのでしょう? ・名前を削除した時は、どうなるのでしょう? > 13個目で1個横にずれていく(画像参照)には ・その状態でA1を空白にしたら? 歯抜けになってOKなら、あらかじめ36個、13個目で横にずれるようにCommandButton1~36を配置しといて、 UserForm1.CommandButton1.Caption = Sheets("Sheet1").Range("A1").Text UserForm1.CommandButton2.Caption = Sheets("Sheet1").Range("A2").Text ~ UserForm1.CommandButton36.Caption = Sheets("Sheet1").Range("A36").Text UserForm1.CommandButton1.Visible = (Sheets("Sheet1").Range("A1").Text<>"") UserForm1.CommandButton2.Visible = (Sheets("Sheet1").Range("A2").Text<>"") ~ UserForm1.CommandButton36.Visible = (Sheets("Sheet1").Range("A36").Text<>"") とか。

r-h-a-o
質問者

お礼

ありがとうございます。

r-h-a-o
質問者

補足

そうですよね・・ 色々説明が不足しているとこがあります・・ 名前を変更したときは、それに変更する 名前を削除したときは、ボタンがなくなり、 1個ずつずれる。 空白の場合はボタンは残るだけで、押しても無反応 予めある場合はNo1様も回答してくださったようにVisible を使うのですね

その他の回答 (1)

  • mt2015
  • ベストアンサー率49% (258/524)
回答No.1

追加するのではなく、予めボタンを作成してVisibleオブジェクトをFalseにして見えないようにしておきます。 セルに入力されたら対応するボタンのVisibleをTrueにします。

r-h-a-o
質問者

お礼

ありがとうございます。

r-h-a-o
質問者

補足

コメントありがとうございます。 隠すのはVisibleを使うのですね!

関連するQ&A