No.5ベストアンサー
- 回答日時:
#2の回答者です。
自己解決していくつもりでしたら、余計なことになりますが、少しちょっとしたヒントを書いておきます。
1. ThisWorkbook でのイベントは、ブックにひとつで足ります。
さらに、エクセル全体で当てはめるためには、アドインにするとよいです。
またさらに、新規のブックに当てはめる時は、アドインにクラスからインスタンスを設けるとよいです。
2. 共通型のイベント型マクロ(ThisWorkbookモジュールを使う)を使う場合は。
>共通するキーワードがあれば、良いです
> キーワードは近いものはありません
「チェックシートは16種類」とは、16シートと考えたからです。
なるべく作業手順を経ランスことが目的だったと思います。
私が聞いた趣旨がお分かりならなかったかもしれませんが、統一したイベント型マクロにする時には、してほしくない、または不要なシートがありえます。その場合は、それを除外する意味です。特定のシート以外は全部、マクロが起動するということも可能です。
3.イベント型マクロが起動してほしい列や行と、そうでないところ。
本来は、シートの中でも、イベント型マクロが起動してほしい所と、そうでないところが別れるはずです。そうした除外条件をご自身でつけられるつもりなら、それは良いのですが、そうでない場合、ややこしい状態に陥ることがあります。
なお、
>これはセルの色のみならず罫線や文字にも流用できるのでしょうか?
可能性はあっても、現状の質問からは、具体的な内容でない限りは、何をしたいのか分かりません。
文字とか罫線とか具体的にどうするとか、もう少し詳しい説明がほしいところです。罫線とは枠囲みするのでしょうか、下線をつけることも考えられます。文字とは、特定の文字を入れることや、文字に対して色を塗る、フォントの色を替えることもありえます。選択肢はいくつもあります。
No.4
- 回答日時:
前回回答を修正
セルの色のみならず罫線や文字にも流用できると思います。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target <> "" Then
Select Case Target.Column
Case 1
If Target.Interior.ColorIndex = xlNone Then
Target.Interior.ColorIndex = 6
ElseIf Target.Interior.ColorIndex <> xlNone Then
Target.Interior.ColorIndex = xlNone
End If
Case 2
If Target.Font.ColorIndex = xlAutomatic Then
Target.Font.ColorIndex = 3
ElseIf Target.Font.ColorIndex <> xlAutomatic Then
Target.Font.ColorIndex = xlAutomatic
End If
Case 3
If Target.Borders(xlEdgeTop).LineStyle = xlNone Then
Target.Borders(xlEdgeLeft).ThemeColor = 5
Target.Borders(xlEdgeLeft).Weight = xlThick
Target.Borders(xlEdgeTop).ThemeColor = 5
Target.Borders(xlEdgeTop).Weight = xlThick
Target.Borders(xlEdgeRight).ThemeColor = 5
Target.Borders(xlEdgeRight).Weight = xlThick
Target.Borders(xlEdgeBottom).ThemeColor = 5
Target.Borders(xlEdgeBottom).Weight = xlThick
ElseIf Target.Borders(xlEdgeTop).LineStyle <> xlNone Then
'罫線を消す条件と、罫線を消す位置については考慮の必要がある
Target.Borders(xlEdgeTop).LineStyle = xlNone
Target.Borders(xlEdgeLeft).LineStyle = xlNone
Target.Borders(xlEdgeBottom).LineStyle = xlNone
Target.Borders(xlEdgeRight).LineStyle = xlNone
End If
End Select
End If
Cancel = True
End Sub
No.3
- 回答日時:
VBAを使ってもいいのでしたら、
そのチェックシートがSheet1に作成されているとして
Sheet1のモジュールに次のコードを入れます。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range)
If Target <> "" Then
If Target.Interior.ColorIndex = xlNone Then
Target.Interior.ColorIndex = 6
ElseIf Target.Interior.ColorIndex <> xlNone Then
Target.Interior.ColorIndex = xlNone
End If
End If
End Sub
Target.Interior.ColorIndex = 6 は そのセルの内部を黄色にします。
http://www.relief.jp/docs/000482.html
その作ったファイルを保存するときには、マクロ有効Bookで保存する
(.xlsm)
画像が非常にわかりやすいです。助かります。
ちなみに、これはセルの色のみならず罫線や文字にも流用できるのでしょうか?
自分でも調べてみます。
No.2
- 回答日時:
チェックボックス(ただしフォームコントロールに限る)でも、
クリック(ダブルクリック)するのでも、マクロからすれば、何百でも、何千でもほぼ同じです。(本物のワンクリック・マクロはとても難しいです)
・チェックシートは16種類 --共通するキーワードがあれば、良いです
・各チェックシートのチェック項目は100~150項目-- 数自体は問題ありません。
・一度すべて作ってしまえば編集はしない、作成作業は1度きり--マクロは、アドインのオブジェクトにしたほうがよいのですが、それはつくるまでに手間が掛かります。今回は、該当するブックに備え付けるタイプにしました。
手間は、ダブルクリックイベントのほうが楽です、
これは仮に作ったものですが、ALT+ F11 または、開発-コード-Visual Basic で、VBEditor 画面を開けたら、プロジェクト・エクスプローラ(Ctrl+ R)から
ThisWorkbookの文字をダブルクリックで開けて、以下のコードを貼り付けます。
ほんの一例です。
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
If Sh.Name Like "Sh*" Then 'シートの名前が、Sh であること
If Target.Value <> "" Then '空のセルでないこと
If Target.Column = 2 Then 'B列 ダブルクリックは、2列め
If Target.Interior.ColorIndex < 0 Then 色がついていないなら、
Target.Interior.ColorIndex = 34 '色をつける(パステルの水色)
Else
Target.Interior.ColorIndex = xlColorIndexAutomatic '色があるなら消す
End If
End If
End If
End If
Cancel = True 'ダブルクリックのセルの待機状態を戻す
End Sub
ちなみに、
> 一つずつ右クリック、プロパティとするのが大変で………
フォームコントロールのチェックボックスには、鯛焼きの型とおなじように、ひとつの型から同じものは何百・何千とつくることは可能です。つまり、一つ設定すれば、全部同じものができますが、このボタンは、ユーザーがうっかり移動できてしまうのが問題点です。
これは便利ですね!
あくまで印刷時に判別できれば良いので、この方法は最適解に近いです。
ちなみに
>・チェックシートは16種類 --共通するキーワードがあれば、良いです
キーワードは近いものはありません
参考にします
ありがとうございます
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelの条件付き書式設定の太い...
-
Excelの外枠太罫線を2~3倍さ...
-
excel2003 罫線だけを保護したい
-
EXCELで、下線の太さを変...
-
エクセルで罫線も一緒に並び替...
-
エクセルで文字を入力すると罫...
-
パワーポイントで、表の一部を...
-
罫線の色を薄くしたい
-
エクセル
-
【エクセル】謎の枠線の消し方
-
エクセル 入力されていない線...
-
エクセルのアンダーラインについて
-
エクセルを印刷すると勝手に線...
-
Excelでアンダーラインに文字が...
-
条件付き書式で自動で斜線の罫...
-
エクセルでセルに入力している...
-
勝手に背景に色が付いて困っ...
-
EXCELのオートフィルタで罫線が...
-
エクセル 4行ごとに線を引きたい
-
TeXのmultirowとその罫線について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelの条件付き書式設定の太い...
-
Excelの外枠太罫線を2~3倍さ...
-
excel2003 罫線だけを保護したい
-
罫線の色を薄くしたい
-
EXCELで、下線の太さを変...
-
エクセルで文字を入力すると罫...
-
エクセルで罫線も一緒に並び替...
-
【エクセル】謎の枠線の消し方
-
エクセルのアンダーラインについて
-
エクセル
-
パワーポイントで、表の一部を...
-
決まった罫線のなかで、文章入...
-
EXCELのオートフィルタで罫線が...
-
エクセル 入力されていない線...
-
エクセル表の罫線(縦)が消せ...
-
Excelでアンダーラインに文字が...
-
エクセル の縦線
-
罫線が引かれているセルの個数...
-
勝手に背景に色が付いて困っ...
-
条件付き書式で自動で斜線の罫...
おすすめ情報