エクセルマクロについて教えて下さい。
Excel2003を使用しています。
1つのシートに、フォームツールボックスからチェックボックスを沢山(300個以上)配置しました。
チェックボックスをクリック(オン)するのと同時にチェックボックスに赤い枠線を付けたいのですが、1つのマクロでチェックボックスのオブジェクト名を取得しながら枠線を付けることは出来ませんでしょうか?
以下のマクロを試してみたのですが、Application.Callerの所でエラーになってしまいました。
Sub checkon()
ActiveSheet.Shapes(Application.Caller).Select
Selection.ShapeRange.Line.Weight = 3#
Selection.ShapeRange.Line.DashStyle = msoLineSolid
Selection.ShapeRange.Line.Style = msoLineSingle
Selection.ShapeRange.Line.Transparency = 0#
Selection.ShapeRange.Line.Visible = msoTrue
Selection.ShapeRange.Line.ForeColor.SchemeColor = 10
i = ActiveCell.Address(False, False, xlA1)
Range(i).Select
End Sub
特定のチェックボックスを指定した場合は、問題ないのですが・・。
(例)ActiveSheet.Shapes("Check Box 1").Select
どなたか詳しい方、宜しくお願い致します。
No.2ベストアンサー
- 回答日時:
#1です。
ついでですが、クリック時にいちいちCheckboxをSelectしなければ、
i = ActiveCell.Address(False, False, xlA1)
Range(i).Select
は不要ですね。またCheckBoxを再度クリックしてオフにした場合は枠線を赤から戻したいのではないですか?
サンプルです。↓
Sub checkon02()
With ActiveSheet.Shapes(Application.Caller)
.Line.Weight = IIf(.DrawingObject.Value = xlOn, 3#, 1#)
.Line.DashStyle = msoLineSolid
.Line.Style = msoLineSingle
.Line.Transparency = 0#
.Line.Visible = msoTrue
.Line.ForeColor.SchemeColor = IIf(.DrawingObject.Value = xlOn, 10, 0)
End With
End Sub
merlionXXさん
お早い回答ありがとうございます。
マクロを使用する前に、VBEのデバックでエラーが出ていたので駄目だと思っていましたが、実際にマクロを登録してみたらサンプルで頂いたコードも質問時のコードも動作しました。
枠線を赤から戻すのは、別のマクロにて一括で戻すつもりでしたので気にしていませんでした。
(使用目的が、たくさん並んだチェックボックスからその時チェックしたものを簡単に識別する為だったので。)
解除に使うつもりだったコード
ActiveSheet.CheckBoxes.ShapeRange.Line.Visible = msoFalse
教えて頂いたサンプルコードだとチェックをオフにしたとき黒の細い枠線が残ってしまったので
.Line.Weight = IIf(.DrawingObject.Value = xlOn, 3#, 0#)
.Line.ForeColor.SchemeColor = IIf(.DrawingObject.Value = xlOn, 10, 9)
2箇所変更して使用させて頂きます。
(これでも線が無くなった事にはなっていないようですが・・。)
マクロ初心者なので、教えて頂けて本当に助かりました。
ありがとうございました。
No.1
- 回答日時:
Sub checkon()をどうやって作動させましたか?
Application.Callerをつかうからにはチェックボックスにマクロをセットしなければいけません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) マクロで最終行を取得してコピーしたい 3 2022/04/06 19:07
- Visual Basic(VBA) 複数セルに〇印をつけるマクロ 4 2022/09/07 05:33
- Visual Basic(VBA) データのある範囲を選択するVBAについて 2 2022/09/03 00:20
- Visual Basic(VBA) Excel VBAの解読について質問があります。 概要は、マクロでチェックボックスにチェックすると日 1 2023/02/10 07:50
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/02/22 08:53
- Visual Basic(VBA) 指定の条件に応じたセルの場所に〇印(図形)を描く 2 2022/11/08 15:26
- Excel(エクセル) エクセルVBAでチェックボックスにチェックを入れる 1 2022/09/14 00:52
- Visual Basic(VBA) ワイルドカード「*」を使うとうまくいかないマクロの添削をお願いします 3 2022/03/26 09:39
- Visual Basic(VBA) excel vbaでvlooupの変数がわかりません。 7 2022/05/30 09:35
- Excel(エクセル) エクセルの印刷マクロについて質問があります。 現在、下記のマクロで印刷しています。Sheet1のD6 5 2023/06/12 10:59
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel マクロの編集がグレーに...
-
WPSOffice_マクロの有効化について
-
エクセル マクロ名にブック名...
-
エクセル ボタンに設定したマク...
-
Excelのマクロでボタンを押すと...
-
複数のマクロボタンをまとめて...
-
Excelマクロで、稼働中のマクロ...
-
エクセルマクロで、別のブック...
-
EXCELのマクロが他のパソコンで...
-
エクセルで、「いいね」のよう...
-
エクセルでマクロ(Excel 4.0)...
-
(Excel VBA)シートコピー時マ...
-
エクセルの、記録を終了したマ...
-
Excelのマクロ名の並び順の法則...
-
エクセルの表を複数枚印刷した...
-
マクロを組んだエクセルの動作...
-
個人用マクロのショートカット...
-
エクセルでマクロを確認できな...
-
ワードの表のセル幅をマクロを...
-
パソコンの買い替えとデータ移行
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
WPSOffice_マクロの有効化について
-
Excel マクロの編集がグレーに...
-
Excelのマクロでボタンを押すと...
-
エクセルの表を複数枚印刷した...
-
エクセルの、記録を終了したマ...
-
エクセル マクロ名にブック名...
-
複数のマクロボタンをまとめて...
-
エクセルで、「いいね」のよう...
-
エクセルマクロで、別のブック...
-
エクセル ボタンに設定したマク...
-
エクセルでマクロ(Excel 4.0)...
-
別シートのマクロボタンをマク...
-
Excelマクロで、稼働中のマクロ...
-
マクロをマクロを使ってコピー...
-
(Excel VBA)シートコピー時マ...
-
エクセルで明日の日付を表示す...
-
なぜマクロの記録がなくなって...
-
エクセルでマクロを確認できな...
-
Excelのマクロ名の並び順の法則...
-
マクロ実行ボタンを自動削除したい
おすすめ情報