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も見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
IFとIFS関数
-
Excelを無料で使うには? パソ...
-
セルの数を求めたい
-
エクセルの数式バーのフォント...
-
Excelの表示についての質問
-
再質問です。マクロの修正箇所...
-
データチェックを行うエクセル...
-
Excelに詳しい方! B列が「日...
-
西暦や和暦の表示をyyyymmdd表...
-
Excelで50個のセルに同じ文字を...
-
Excelの数式について教えてくだ...
-
Excel VBAで全ての矢印を赤色に...
-
エクセル関数を使って
-
祝日と土曜、日曜の合計をカウ...
-
xlsxファイルを保存する際にPDF...
-
Excelについて
-
エクセルVBA、別ブックへ転記す...
-
エクセルで「ページレイアウト...
-
2列に入っているデータを1列...
-
【ExcelVBA】名前を付けて保存→...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
半角カタカナをヘボン式ローマ...
-
(マクロ)vlookupの元データを同...
-
エクセルで上位バイトのセルと...
-
exselの質問です
-
Excel 大小比較演算子による「...
-
Excel VBについての質問です。
-
エクセルの問題です。絶対値の...
-
非表示列の再表示に失敗
-
職場の人から聞かれており、こ...
-
Excel関数-文字列で自動作成さ...
-
Excelデータをコピペして、ペー...
-
ユーザー定義関数をアドイン登...
-
【マクロ】for next構文について
-
エクセルの日付を編集する
-
【マクロ】VLOOKUPにて参照元に...
-
exselで最小数で並び替える関数
-
libre 表計算ソフトの計算がう...
-
エクセルで表
-
エクセルの表で1年間の曜日を...
-
西暦和暦
おすすめ情報