Page 862 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼チェックボックスの操作 samba 03/3/11(火) 11:16 ┗Re:チェックボックスの操作 つん 03/3/11(火) 11:25 ┗Re:チェックボックスの操作 samba 03/3/11(火) 12:43 ┗Re:チェックボックスの操作 つん 03/3/11(火) 13:10 ┗Re:チェックボックスの操作 samba 03/3/11(火) 13:34 ┗Re:チェックボックスの操作 つん 03/3/11(火) 13:38 ┗Re:チェックボックスの操作 samba 03/3/11(火) 13:48 ┗Re:チェックボックスの操作 つん 03/3/11(火) 13:55 ┗Re:チェックボックスの操作 samba 03/3/11(火) 14:16 ┗書く場所が・・・ つん 03/3/11(火) 14:34 ─────────────────────────────────────── ■題名 : チェックボックスの操作 ■名前 : samba ■日付 : 03/3/11(火) 11:16 -------------------------------------------------------------------------
はじめまして。 任意のセルの内容に応じて、コントロールのチェックボックスのON・OFFを操作したいのですが、適切な記述がわかりません。 たとえば、A1セルにテキスト文字列"○"がある場合、 CheckBox1をON(TRUE)にしたい場合、 if range(A1) = "○" then CheckBox1 =True これでは駄目なのでしょうか? 初歩的な質問でお恥ずかしいのですがアドバイス願います。 |
samba さん はじめまして。こんにちは >if range(A1) = "○" then CheckBox1 =True Range("A1")・・・A1をダブルコーテーションで囲んでないから エラーが出るんやと思います。 |
>>if range(A1) = "○" then CheckBox1 =True > >Range("A1")・・・A1をダブルコーテーションで囲んでないから じつは、 Dim a As String a = Cells(1, 1).Value と変数を定義してから、 If a = "○" Then CheckBox1 = True と記述しておりました。 これを実行すると、 特にエラーメッセージは表示されないのですが、 Then 以降の部分が実行されません。 当然、チェックボックスもチェックされません。 よろしくお願いいたします。 |
>Dim a As String >a = Cells(1, 1).Value > >と変数を定義してから、 > >If a = "○" Then CheckBox1 = True こちらで、そのままコピペして実行してみましたが、 とりあえず、CheckBox1にチェック入りましたよ。 どういう状況でされてるのでしょうか? こちらは、ユーザーフォームにチェックボックスを配置して、 Initializeイベントに書いてみましたが・・・ |
>どういう状況でされてるのでしょうか? >こちらは、ユーザーフォームにチェックボックスを配置して、 >Initializeイベントに書いてみましたが・・・ ユーザフォーム上ではなく、ワークシート上にチェックボックスを配置しております。 |
>ユーザフォーム上ではなく、ワークシート上にチェックボックスを配置しております。 そうですか・・ では、どういうタイミングでマクロを実行させてますか? ブックを開いたときとか・・・・? |
▼つん さん: >>ユーザフォーム上ではなく、ワークシート上にチェックボックスを配置しております。 > >そうですか・・ >では、どういうタイミングでマクロを実行させてますか? >ブックを開いたときとか・・・・? 「マクロを実行」で実行させております。 |
>「マクロを実行」で実行させております。 ああ、そうか・・・ でしたら、 Sub test() Dim a As String a = Cells(1, 1).Value If a = "○" Then Worksheets("Sheet1").CheckBox1 = True Else Worksheets("Sheet1").CheckBox1 = False End If End Sub これでいかがですか? |
ありがとうございます! うまくいきました! マクロ実行で動作させる点がポイントだったのでしょうか? |
うまくいったようで、よかったです♪ >マクロ実行で動作させる点がポイントだったのでしょうか? いや・・あれで、上手く行ったのなら、 Worksheets("Sheet1").CheckBox1 = True ↑この太字にした部分がポイントだと思います。 おそらく「標準モジュール」に書かれてたと思うのですが、 その場合、どこにあるコントロールか?ちゅーことを明記してやらないとダメです。 上記のように・・・ Sheet1上にあって、そのSheet1のモジュールに書くなら、 そのまま「CheckBox1」でOKですけどね。 おそらく、そういうことが問題やったのだと思います。 |