• ベストアンサー

チェックボックスのマクロ登録

チェックボックスにマクロを登録したのですが、 チェックボックス17のはずが エラーになってしまいます。 おそらく定義をしなくちゃいけないんだろうと思うんですけど、 定義の仕方がわかりません。 ご存知の方、教えてください。

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

  • ベストアンサー
  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.2

If CheckBox17.Value = 1 Then を If CheckBoxes("CheckBox17").Value = 1 Then と変えてみてください。(これで動きました)私のExcelは2000ですが、チェックボックスを貼り付けると名前は『チェック 1』(VBA内ではCheck Box 1)とかになります。『CheckBox17』は後から付けた名前でしょうか。(Excel97はそうだったかもしれませんが) 別法として、チェックボックスを右クリック→コントロールの書式設定→コントロールタブで『リンクするセル』を登録します。これを例えばセルF5として、 If Range("F5") = True Then (このコードはチェックボックスのあるシートのコードウインドウに書いた場合です) としても同じ結果でしょう。これはチェックボックスの名前は関係なくなります。 リンクするセルについては、リンクするセルをチェックボックスが配置されているセルにして、チェックボックスを右クリック→コントロールの書式設定→色と線タブで塗りつぶしの色を自動にする方法もあります。

Neigh
質問者

お礼

ありがとうございますっ やってみますっ

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.1

質問の内容がもう少し明確になれば考えることができますが・・・ (1)該当のソフトは何でしょうか(Excel?) (2)そのソフトのバージョンは(97とか2000とか) (3)チェックボックス17と書いてありますが、Excelだとすれば    a.表示→ツールバー→フォームのチェックボックス    b.表示→ツールバー→Visual Basicのコントロールツールボックスのチェックボックス    のどちらでしょうか。 (4)『エラーになってしまいます』とありますが、    a.マクロの登録がエラー    b.登録後にマクロを実行したらエラー(マクロ内部でのエラー)    のどちらでしょうか。 (5)上記(1)~(4)が明らかになっても、実際のマクロの内容が分からなければ    答えようがないかもしれません。 間違いを承知で予測をすると、Excel97か2000あたりでフォームのチェックボックスを使っているのではないでしょうか。 これは数年前には使っていましたが、参照したりする時に面倒だった記憶があります。個人的にはフォームのコントロールは特別なことがなければ使わないようにしています。古いし、Helpでも調べにくいし解説書もあまりないように思います。 コントロールツールボックスの方が調べやすいし使用例もたくさん紹介されています。こちらなら質問のようなことは起きないかもしれません。

Neigh
質問者

補足

状況としては、フォームのチェックボックスの戻り値が1の場合、あるシートを 表示するというマクロ(以下) If CheckBox17.Value = 1 Then Sheets("入力画面").Visible = True Else Sheets("入力画面").Visible = False End If エラー部は、CheckBox17.Valueです。 おそらくCheckBox17が悪いと思われます。 そのチェックボックスはCheckBox17であることは 違いないのですが、そのまま利用することはできない ということでしょうか?

すると、全ての回答が全文表示されます。

関連するQ&A