古い日経パソコン(No.599 2010.04.12)を整理していたら、ページを折った個所があった。
(日経パソコン No.599 2010.04.12)
紙に印刷した一覧表に鉛筆やボールペンでチェックを入れていく。仕事の現場ではよくあるシーンです。これをExcelの画面上でやろうとすると意外に手間が掛かります。キーボードから文字を打つのは面倒ですし、マウスでクリックできるチェックボックスを配置していくのは、設定作業自体にたいへんな時間と労力を要します。
そこで今回、マウスでセルを右クリックするだけで「●」マークを入れられるワークシートを作りました…
Excel住所録の「欠礼」の入力に使えないか作ってみた。但し、実際に組み込むにはまだ改良点がある。
■ 完成したコード
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) '概要:右クリックで今年の西暦年を入力する。 '引用:日経パソコン No.599 2012.04.12 森本家のワークシート Dim mbTitle As String Dim C As Variant Dim nowYear As Long Dim lngC As Long Dim varAns As Variant mbTitle = "右クリックで欠礼年" nowYear = Year(Now) '複数のセルを選択している場合は終わる。 If Selection.Cells.Count <> 1 Then Exit Sub Select Case Target.Column '指定列の場合 Case 7 C = Target.Text If C = "" Then Selection.Value = nowYear Else lngC = Val(C) If lngC > 0 And lngC < nowYear Then Selection.Value = nowYear ElseIf lngC = nowYear Then Selection.Value = "" Else varAns = MsgBox("「欠礼年」に置き換えます?" & vbCrLf & vbCrLf _ & " ■現データ=" & C & vbCrLf _ & " ■欠礼年=" & nowYear _ , vbYesNo, mbTitle) If varAns = vbNo Then Exit Sub Selection.Value = nowYear End If End If '右クリックメニューを出さない。 Cancel = True End Select End Sub