[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『チェックボックスのオンオフで、特定セルへの文字列の表示を切り替える手法』(ナイター)
フォームコントロールのチェックボックスとVBAを用い、チェックボックスのオンオフに連動して特定のセルに特定の文字列を表示したり非表示にしたりする方法がどうしても掴めません。
下記のようなVBAを組んでみたのですが、うまくいきません。
Sub test()
Dim month As String Dim cell As Range Dim cbx As Object
month = "1月" Set cell = Worksheets(1).Range("A1") Set Object = "Check Box 1"
If cbx.Value = True Then cell = month Else cell = "" End If
End Sub
恥ずかしながらVBAは初心者なもので、どれだけ調べてもうまく動かないのでご助力願いたいです。
A1に =If(チェックボックスのリンク先セル=true,”1月”,””)
みたいな数式を入れておけば簡単なのは理解しております。
今回はVBAを使用したい環境のため、どうかお力添えください。
< 使用 Excel:Office365、使用 OS:Windows10 >
>Set Object = "Check Box 1" Object は cbx の間違いですよね。 (?) 2022/08/12(金) 17:49
とのことなのでチェックボックスにマクロを登録します。
チェックボックスを右クリックして「マクロの登録」から「新規作成」をクリックします。
標準モジュールに下記のような雛型ができるので、
Sub チェック1_Click()
End Sub
これに下記のようなコードを挿入します。
Sub チェック1_Click() Dim Month As String Dim cell As Range Dim cbx As Object
Month = "1月" Set cell = ActiveSheet.Range("A1") Set cbx = ActiveSheet.CheckBoxes(Application.Caller)
If cbx.Value = xlOn Then cell = Month Else cell = "" End If End Sub
これでチェックボックスのクリックに連動してセルの値が変更されます。
注意点としては、
フォームコントロールのチェックボックスの Value はBoolean型でなく、
定数 xlOn, xlOff で判断します。
フォームコントロールに登録したマクロ内では、
Application.Caller でクリックしたコントロールの名前を取得できます。
これで、チェックボックスを特定して取得できます。
(hatena) 2022/08/12(金) 17:52
Private Sub CheckBox1_Click() Range("A1").Value = IIf(CheckBox1, Month(Date), "") End Sub
(もこな2) 2022/08/12(金) 18:39
参考です。
Sub CheckOn() ActiveSheet.CheckBoxes(1).Value = xlOn Range("A1").Value = "1月" End Sub
Sub CheckOff() ActiveSheet.CheckBoxes(1).Value = xlOff Range("A1").Value = "" End Sub
(?) 2022/08/12(金) 19:08
Sub チェック1_Click() Range("A1").Value = IIf(ActiveSheet.CheckBoxes(Application.Caller)=xlOn,"1月","") End Sub
フォームコントロールとActiveXコントロールの使い分けですが、
自分の場合は、
そのシートでしか使わないならActiveXコントロール、
複数のシートの複数のチェックボックスで共通する処理なら、フォームコントロール
としてます。
(hatena) 2022/08/12(金) 21:02
Sub チェック1_Click() Range("A1").Value = IIf(ActiveSheet.CheckBoxes(1) = xlOn, "1月", "") End Sub
(?) 2022/08/12(金) 21:30
具体的なコードを何パターンか明示していただき、試しがいがあります。
いずれかも試行してみて、一番やりやすいものを実装してみようと思います。
ActiveXとフォームコントロールの使い分けについてはまだ何も考えておらず、上の段にあるからフォームコントロールを使っておりましたが,こちらはもう少し調べてみます。
作業環境的に月曜まで動かせないので、今この場ではうまくいったか返答できず申し訳ないところです。
引き続きご教授お願いいたします。
(ナイター) 2022/08/12(金) 23:43
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.