
No.3ベストアンサー
- 回答日時:
>「あ」と入力するシートとチェックボックスを配置しているシートが別シート
手順:
これまでのマクロを「漏れなく全部消去する」
改めて
チェックボックスのシートを開く
開発タブでデザインモードを選択,チェックボックスを右クリック,コードの表示を開始
下記のマクロを記載する
private sub CheckBox1_Click()
application.enableevents = false
worksheets("「あ」のシート名").range("F20") = iif(me.checkbox1,"あ","")
application.enableevents = true
end sub
ファイルメニューからエクセルに戻り,忘れずに開発タブで「デザインモード」を終了する
「あ」のシートを開き,シート名タブを右クリック,コードの表示を開始
下記のマクロをコピー貼り付ける
private sub Worksheet_Change(byval Target as excel.range)
if target.address = "$F$20" then
application.enableevents = false
worksheets("チェックボックスのシート名").checkbox1 = target = "あ"
application.enableevents = true
end if
end sub
以上です。
No.2
- 回答日時:
>古いバージョンのExcelを使っている人が使うこともある
古いってどんな古いエクセルですか?
どーして「古いエクセルを使っている」事が問題だと思われたのか判りませんが,エクセル97以降なら回答した方法で全く問題無く利用できます。
>フォームコントロールを使いたい
フォームコントロールに,無理クリ「マクロの登録」してマクロ(動作内容は概ね類似,ただし勿論それ用に調整は必要。アクティブXコントロール用のマクロをただコピーしてもダメという意味です)を作動させれば,まぁ「やればできます」の範疇です。今回回答はアクティブXコントロールでマクロを活用した内容なので,フォームコントロールで無理矢理マクロを取り付けて行う方策については割愛します。
マクロを使わないフォームコントロールだけの機能では
○セルに「あ」を記入すると自動でチェックが入る(外れる)
ように細工する事はできます。
既に回答したとおり,マクロを使わない「標準的なフォームコントロールの動作」だけの範疇では,次の問題があります。
●うっかりチェックボックスの方をクリックすると,作り込んだ細工が破損して以後使えなくなる
●チェックボックスをクリックしてセルに「あ」が入ったり消えたりする細工はできない
●オートシェイプを表示したり消したりも出来ない。
この回答への補足
失礼しました。
2.は自分で修正点に気付き正常に動作させることができました!
正しいコードは
Worksheets("シート1").Shapes("sp1").Visible = Me.CheckBox1.Value
でした。
大変失礼しました。
ありがとうございます!
大変失礼しました。
>エクセル97以降なら
問題ないです。
早速教えていただいた方法をやってみました。
ただ何点か分からない点がありましのでまたよろしければ教えてください。
1.「あ」と入力するシートとチェックボックスを配置しているシートが別シートなので
コードを書き換えようと思ったのですがうまくできません。
以下のようにやってみたのですが反応無しです。
修正点を教えていただきたいです。
Private Sub CheckBox1_Click()
Worksheets("シート1").Range("F20") = IIf(Me.CheckBox1, "あ", "")
End Sub
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = "$F$20" Then
Me.CheckBox1 = Target = "あ"
End If
End Sub
2.こちらも、チェックボックスとオートシェイプを別のシートに置いています。
以下のようにやってみたのですが
「オブジェクトが必要です」とエラーメッセージが出てしまいます。
修正点を教えていただきたいです。
Private Sub CheckBox1_Click()
Me.CheckBox1.Value = シート2.Shapes("sp1").Visible
End Sub
何度もすみません。よろしくお願いいたします!
No.1
- 回答日時:
>シートにチェックボックスを配置しています。
エクセル2007では,開発タブの挿入から「フォームコントロール」と「ActiveXコントロール」の2種類のチェックボックスが選べます。
どちらを使っているのか,使いたい理由があるのかに応じて,具体的な使い方や出来る事できない事が変わってきます。
幾つかの理由から今回のご相談に見合う手段としては,「ActiveXコントロール」のチェックボックスを利用します。フォームコントロールだけでは,基本的には下記でヤリタイこと全てを実現することができません。
手順:
新しいシートを用意する
アクティブXコントロールのチェックボックスを1個,シート上に配置する
右クリックして「コードの表示」を選ぶ
現れたシートに「checkbox1_click …end sub」が記入されているので下記に加筆し,併せて下記をコピー貼り付ける
private sub CheckBox1_Click()
range("A1") = iif(me.checkbox1, "あ", "")
end sub
private sub Worksheet_Change(byval Target as excel.range)
if target.address = "$A$1" then
me.checkbox1 = target = "あ"
end if
end sub
ファイルメニューから終了してエクセルに戻る
開発タブで「デザインモード」をクリックしてデザインモードを解除する
使い方:
A1セルに「あ」とか「い」とか記入する
チェックボックスのチェックを入れたりハズしたりする
>オートシェイプ
シート上に図形を描画し,名前ボックスで myShape と名前を付けておく(必ず行う)
ActiveXコントロールのチェックボックス2を配置,右クリックしてコードの表示で下記のようにする
private sub CheckBox2_Click()
me.shapes("myShape").visible = me.checkbox2.value
end sub
ファイルメニューから終了してエクセルに戻り,デザインモードを解除する
使い方:
チェックボックス2のチェックを入れたりハズしたりする。
ありがとうございます!
いままでフォームコントロールのチェックボックスを使っていて
ActiveXコントロールの存在にいまはじめて気づきました!
説明不足で大変申し訳ないのですが
私が作ったものを、古いバージョンのExcelを使っている人が使うこともあるのを
忘れていました。
できればフォームコントロールのチェックボックスを使いたいです。
フォームコントロールのチェックボックスでは
やはりできないことがあるのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルVBAでチェックボックスにチェックを入れる 1 2022/09/14 00:52
- Excel(エクセル) 表内で、Enterキーで横→行の最後入力したら次の行の先頭に移動するマクロを作りたい 3 2022/05/01 21:19
- Excel(エクセル) たくさんあるフォームコントロールを効率よく確認するには 1 2022/12/24 12:27
- Excel(エクセル) スプレッドシートのチェックボックスとフィルタを連携させたい 2 2022/09/26 18:02
- JavaScript javaScriptで画面に値を入れるには 1 2022/08/14 12:27
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- Excel(エクセル) エクセルの散布図で新たに入力した値のデータラベルが空欄になる現象 1 2022/04/26 09:31
- Visual Basic(VBA) VBA チェックボックスで 5 2023/05/31 17:10
- Access(アクセス) アクセスで、androidのスマホサイズのフォームは作れますか?テキストとチェックボックスだけのフォ 1 2023/05/31 00:53
- Excel(エクセル) 画像のようなチェックボックスとハイパーリンクがありますが、 ハイパーリンクを押すと、チェックボックス 1 2023/04/07 12:56
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
9月17日でサービス終了らし...
-
エクセル ドロップダウンリスト...
-
特定のセルだけ結果がおかしい...
-
エクセルのdatedif関数を使って...
-
【関数】同じ関数なのに、エラ...
-
エクセルの循環参照、?
-
エクセル
-
【マクロ】アクティブセルの時...
-
【マクロ】A列にある、日付(本...
-
iPhoneのExcelアプリで、別のシ...
-
【マクロ】3行に上から下に並...
-
【条件付き書式】シートの中で...
-
【マクロ】EXCELで読込したCSV...
-
【エクセル】期限アラートについて
-
【マクロ】列を折りたたみ非表...
-
【マクロ】WEBシステムから保存...
-
【マクロ】オートフィルターの...
-
Excel 複数のセルが一致すると...
-
エクセルに、105と入力すると、...
-
3〜400人分のデータをExcelで管...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelファイルを開くと私だけVA...
-
エクセルについてどう関数を使...
-
マクロ・VBAで、当該ファイルの...
-
エクセルのセルに画像は埋め込...
-
エクセルで、一部のセルだけ固...
-
【マクロ、画像あり】A表かB表...
-
エクセルでカウントする
-
【マクロ】コードを少しでも、...
-
VBA_日時のソート
-
エクセルで教えてください。 例...
-
エクセル 月間シフト表で曜日ご...
-
セルの左に余白を付ける
-
エクセル
-
エクセルについて教えてください
-
2枚のエクセル表で数字をマッチ...
-
ExcelのIF関数との組み合わせの...
-
エクセルのファイルのコピーを...
-
エクセルで二つのブックの違い...
-
空白処理を空白に
-
Excelのチェックボックスについ...
おすすめ情報