Excel VBA 質問スレッド No.37 (未解決)

VBAでコマンドボタンを表示させたい。

投稿者 : エル     投稿日時 : 2017/06/28(Wed) 17:25:18     OS : 未指定     EXCEL : 未指定
はじめまして。。
今、セルA1にある一定の条件で文字列が表示されるように
なっているのですが、
その文字列が表示されている時だけコマンドボタンを表示
したいと思っております。

どのようにしたら、ボタンを表示できるようになりますで
しょうか?

お教えいただきますよう、宜しくお願いします。

[返信 1] Re : VBAでコマンドボタンを表示させたい。
投稿者 : 管理人     投稿日時 : 2017/06/28(Wed) 22:49:39
セルA1に文字列が表示されるときに
ワークシートのChangeイベントが発生するのであれば可能だと思います。
次のマクロをシート内のモジュールに貼り付けてください。

前提として、ボタンはActiveXコントロールのコマンドボタンを設置し、
そのコマンドボタンのオブジェクト名が CommandButton1 となっているものとしています。


Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = "$A$1" Then

If Target.Value = "" Then
CommandButton1.Visible = False
Else
CommandButton1.Visible = True
End If

End If

End Sub

[返信 2] Re : VBAでコマンドボタンを表示させたい。
投稿者 : エル     投稿日時 : 2017/06/29(Thu) 00:54:34
回答ありがとうございました。

更に質問になりますが
A2に文字列があるとコマンドボタン2
a3に文字列があるとコマンドボタン3
という風に増やしていく場合は
どのように追加していけばよろしいでしょうか。

宜しくお願いいたします。

[返信 3] Re : VBAでコマンドボタンを表示させたい。
投稿者 : エル     投稿日時 : 2017/06/29(Thu) 22:05:35
スミマセン。
数字だと反応するのですが
数式だと反応しません。
何か問題があるのでしょうか?

[返信 4] Re : VBAでコマンドボタンを表示させたい。
投稿者 : 管理人     投稿日時 : 2017/07/04(Tue) 20:31:07
> 更に質問になりますが
> A2に文字列があるとコマンドボタン2
> a3に文字列があるとコマンドボタン3
> という風に増やしていく場合は
> どのように追加していけばよろしいでしょうか。

Target.Address にChangeイベントが発生したセルのアドレスが入っていますので、
そのアドレスを if 文か、select 文で条件分岐させて処理を切り分けてください。

> 数字だと反応するのですが
> 数式だと反応しません。

おそらく数式だとワークシートのChangeイベントが発生しないのが原因だと思います。
一番最初の回答に記載しましたが、この方法はChangeイベントが発生しないと使えないです。

スポンサード リンク
 
 
当掲示板について
返信入力フォーム
お 名 前  :
内  容   :
ステータス  : この質問を解決済みにする

認証コード  :
        キャプチャ画像


( 処理日時 : 2019-08-26 10:15:59 )

Page
Top