一度体験済でもまた無料でつかえる
仕事での工程表・見積作成、プライベートでの家計簿・予定表など。
EXCELを利用する機会は人それぞれ、様々ですが、効率よくExcelを使いたい気持ちは同じはず。
そこで、この記事ではコピペするだけで簡単に使える「セルをダブルクリックすると指定した文字や記号を入力する」方法をご紹介します。
この記事で紹介する方法は、EXCELのVBAを利用しています。
EXCELのVBAの登録方法を知りたい方はEXCELで便利なマクロ・関数を使って作業効率を上げる方法まとめから先にお読みください
余談:Excelにはまだまだ便利な技がいっぱいあります
当ブログでは、効率よくEXCELを使用するために、便利なVBA・マクロや関数をまとめています。
また、業務の効率をあげる工程表のテンプレートなども無料で配布しています。
- セルをダブルクリックすると指定した文字や記号を入力する
- 土日祝日に色をつけたり、曜日を自動で表示する
- シート名を拾って自動で目次シートを作り、そのページに飛ぶようにリンクを付ける
- 指定したセルの値をシート名に利用する
- 右クリックのメニューを追加して、右クリックから線や円を描く
この小技でできること・できないこと
- ダブルクリックで表示される記号や文字はカスタムできる
※ただし特殊記号等は使えないChr、ChrB、ChrW関数をつかえば特殊文字も使えます - 空白のセルをダブルクリックすると記入できる
※指定した文字以外の文字が入っていた場合は、ダブルクリックしても変化が起きない - もう一度ダブルクリックすると空白に戻る。以降繰り返し
- ダブルクリックで反応する範囲を自分でカスタマイズできる
ダブルクリックするだけで文字や記号を入力
使用例の動画
まずはどんなものか動画を確認ください。
少しわかりにくいですが、○が入力・削除されているときのEXCEL上での操作は「マウスで左ダブルクリック」のみです。
セルをダブルクリックで記号入力:作成方法
以下VBAをコピペするだけでOKです。
VBAの登録の方法はこちらから。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, Range("A1:AZ1000")) Is Nothing Then Exit Sub
With Target
Select Case .Value
Case ""
.Value = "○"
Case "○"
.Value = ""
End Select
End With
End Sub
作成方法の動画実演
このVBAを利用する際の変更箇所や注意点
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, Range("A1:AZ1000")) Is Nothing Then Exit Sub
With Target
Select Case .Value
Case ""
.Value = "○"
Case "○"
.Value = ""
End Select
End With
End Sub
VBAを貼り付ける場所
VBAは「this word book」ではなく、使いたいシートに貼り付けてください。
ダブルクリックで入力する文字の変更方法
6行目の .Value = “○“
7行目の Case “○“
の○の部分を変更することで、ダブルクリックで好きな記号や文字を入力することが可能です。
注1:○の部分は2カ所とも同じ文字を記入
注2:Chr、ChrB、ChrW関数を使えば特殊文字も利用できます
✓(チェック)を〇の代わりに入れたい場合は、”〇”の部分を ChrW(&H2713) に変更してください
※レ点を入れたい場合は”レ”でOKです。
ダブルクリックで対応する範囲の変更
1行目の(Target, Range(“A1:AZ1000“)の範囲を変更すれば、ダブルクリックで反応する範囲を指定できます。
ダブルクリックだけでセルに入力の応用編
自分好みにカスタマイズしたい場合
「これにもうちょっと付け足してやりたいことがある」
「あと少し、ここをこうしたい」
「でもVBAが分からない・・・・」
意味不明のVBAをコピペするだけでなく、理解したい人には無料で読めるすぐ実践できる「ふりがなつき」のやさしいVBA入門本をおすすめします。
私も実際に無料で読みましたが、VBAの登録方法は勿論、関数の意味もとても分かりやすく説明されています。
VBAにふりがながふってあるので、字幕付きの映画を観る感覚で勉強できます。
気になる方は、下記記事でこの本のレビューをしていますので参考にしてください。
その他、ダブルクリックで日付を入れるなど、簡単なカスタマイズを以下でご紹介します。
ダブルクリックするたびに文字をローテーションさせる
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, Range("A1:AZ1000")) Is Nothing Then Exit Sub
With Target
Select Case .Value
Case ""
.Value = "小"
Case "小"
.Value = "中"
Case "中"
.Value = "大"
Case "大"
.Value = ""
End Select
End With
End Sub
上記のように設定すれば、空白→大→中→小→空白とローテーションさせることも可能です。
文字を入れ替えることで、〇→△→□→空白、△→〇→×→空白など様々応用をきかせることができます。
セルが空白の場合、ダブルクリックで日付を入力する
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, Range("A1:AZ1000")) Is Nothing Then Exit Sub
With Target
Select Case .Value
Case ""
.Value = Date
End Select
End With
End Sub
上記の場合は、空白のときだけダブルクリックで日付が入力されます。
一度入力された場合、再度ダブルクリックしても消えません。
セルにダブルクリックで色を塗る(背景色)
セルが空白の時だけ、ダブルクリックで塗りつぶしを行う
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, Range("A1:AZ1000")) Is Nothing Then Exit Sub
With Target
Select Case .Value
Case ""
.Interior.Color = RGB(255, 0, 0)
End Select
End With
End Sub
上記の場合は、空白のときだけダブルクリックで背景色をつけます。
一度色をつけた場合、再度ダブルクリックしても消えません。
文字が入っているセルにはダブルクリックしても背景色は塗られません。
セルに文字が入っている時だけ、ダブルクリックで塗りつぶしを行う
セルに何か入力されているときだけダブルクリックで背景色をつけます。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, Range("A1:AZ1000")) Is Nothing Then Exit Sub
With Target
Select Case .Value
Case ""
Case Else
.Interior.Color = RGB(255, 0, 0)
End Select
End With
End Sub
セルにダブルクリックで塗りつぶしを行う
セルが空白でも、そうでなくてもダブルクリックで背景色をつけます。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, Range("A1:AZ1000")) Is Nothing Then Exit Sub
With Target
.Interior.Color = RGB(255, 0, 0)
End With
End Sub
背景色を変更したい場合
.Interior.Color = RGB(255, 0, 0)の数値を変更してください。
まとめ:コードを変更すればダブルクリックだけで色々なことができる
今回ご紹介したコードを色々カスタマイズすることで、ダブルクリックだけでできることが増えるので効率はかなりアップすると思います。
「これにもうちょっと付け足してやりたいことがある」
「あと少し、ここをこうしたい」
「でもVBAが分からない・・・・」
そんな方には無料で読めるすぐ実践できる!私も読んだVBA入門本をおすすめします。
また、VBAに限らずエクセルには知らないだけでもっと便利な時短技が存在します。
たとえば、私も利用していますが、コピーする際にはCtrl+DやCtrl+Rを使い、マウス・クリックを使わず時短で行います。
このようなExcelの時短技は、ネットで検索すればその都度説明サイトを発見することができます。
このブログでもExcelのショートカットをまとめた記事を書いています。
また、時短や便利技が好きな方は、エクセルだけに限らずWindowsのパソコンを効率よく使えるショートカット集の記事もぜひ参考にしてください。
僕のパソコン操作の速度がこちら😌 pic.twitter.com/v3f2dpDtEZ
— マナブ@バンコク (@manabubannai) April 22, 2020
これを全部覚えれば、マナブさんのようなすばらしく早いパソコン操作に近づけると思います。
その他にも便利なEXCEL小技や無料テンプレートの配布を行っています
一度体験済でもまた無料でつかえる