2025/07/11
【ExcelVBA】誤操作防止!実行ボタンを押したときに確認画面を表示する

【ExcelVBA】誤操作防止!実行ボタンを押したときに確認画面を表示する

マクロの実行ボタンが配置されたExcelファイルを使っている際に、「実行ボタンをうっかり押してしまった…」という経験、ありませんか?
特に重要な処理を含むマクロでは、誤操作が思わぬトラブルにつながることもあります。

そんな時におすすめなのが、「確認画面」を実行時に表示する方法です。
実行ボタンを押した際に、ユーザーに実行してよいのか確認を求めることで、誤操作を防ぐことができます。

※こちらで実現したファイルは、記事の最後にて配布しています。


1. 設定

まずは、「確認画面」を表示したい対象の実行ボタンの上で右クリックし、[マクロの登録]を選択します。

[マクロの登録]画面が表示されましたら、[編集]を選択します。

[編集]を選択すると、対象のプロシージャ(Sub~End Sub)が表示されます。
こちらでは、以下の処理が表示されたとします。

Sub UpdateData()
    
    Range("C4:C23").Value = Range("D4:D23").Value
    Range("D4:D23").ClearContents
    
End Sub

後は、このプロシージャ内に「確認画面」を表示する処理を記述します。
具体的には、元々の処理の先頭に、以下のコードを記述します。

Sub UpdateData()
    
    If MsgBox("本当に実行しますか?", _
        vbExclamation + _
        vbYesNo + vbDefaultButton2) = vbNo Then Exit Sub
    
    Range("C4:C23").Value = Range("D4:D23").Value
    Range("D4:D23").ClearContents
    
End Sub

「If」の処理は、「Then」の後に1つの処理を記述することで、「End If」を省略することができます。
複数の処理を記述する場合は、「Then」の後で改行して、処理を「End If」で囲む必要があります。
「□_」(□は半角スペース)は、本来改行しない位置で改行する場合に入力します。
こちらでは、コードの全体が見やすいように改行しています。

メッセージボックスを表示する処理を追記しています。
それぞれの設定値は、以下のような意味です。

以下のコードにて、表示されたメッセージボックスで「はい」を選択した場合は「vbYes」、「いいえ」を選択した場合は「vbNo」の値が返されます。

MsgBox("本当に実行しますか?", vbExclamation + vbYesNo + vbDefaultButton2)

そのため、その結果が「vbNo」の場合に、処理を終了する旨を記述しています。

If MsgBox(…) = vbNo Then Exit Sub

2. 完成

以上の手順で完成です。
実行ボタンを押すと、警告音付きの確認画面が表示されます。
また、「いいえ」がデフォルト選択なので、Enterキーを誤って押しても実行されません。
「はい」を選択したときのみ、マクロが実行されます。


3. まとめ

既存のコードの先頭に追記するだけで、マクロの誤操作を防止できます。
そのため、誤操作に悩まされている場合は、ぜひ取り入れてほしいテクニックです。

▼サンプルファイル▼

2025/07/08
【Excel】実は数式内にコメントを残せます

【Excel】実は数式内にコメントを残せます

複雑な数式を扱っていると、「ここ部分、後で見返したときに分かるようにコメントを残しておきたい」と思うことがありますよね。
しかし、セルにメモ(コメント)を追加すると、以下のように、赤いマークが表示されてしまいます。

この赤いマークは、人によっては気になります。

そのため今回は、赤いマークを表示させない数式の中にコメントを残す方法について解説していきます。


数式の中にコメントを残す

数式の中にコメントを直接残す際は、N関数T関数を使う方法がおすすめです。
これから解説する方法では、数式の計算結果には一切影響しません。

数式の結果が「数値」なのか「文字列」なのかによって、コメントの残し方が少し異なるので、順番に解説していきます。


計算結果が「数値」の場合

まずは、「計算結果が数値の場合」について解説していきます。
例えば、以下の数式に「科目Dのみ1.5倍して合計」というコメントを残したいと思います。

=SUM(C7:C9,C10*1.5,C11)

その際は、N関数を活用して、以下のようにコメントを残します。

=SUM(C7:C9,C10*1.5,C11)+N("科目Dのみ1.5倍して合計")

このように、「+N(“コメント”)」を数式の末尾に追加するだけです。

N関数は「指定した値が数値の場合はその数値、文字列の場合は0を返す関数」です。

そのため、N関数でコメントを追加した場合、数式の結果に0が加算されるだけなので、結果は変わりません。


計算結果が「文字列」の場合

次は、「計算結果が文字列の場合」について解説していきます。
例えば、以下の数式に「400以上の場合に合格」というコメントを残したいと思います。

=IF(C4>=400,"合","否")

その際は、T関数N関数を活用して、以下のようにコメントを残します。

=IF(C4>=400,"合","否")&T(N("400以上の場合に合格"))

このように、「&T(N(“コメント”))」を数式の末尾に追加するだけです。

N関数は「指定した値が数値の場合はその数値、文字列の場合は0を返す関数」でした。
T関数は、その逆で「指定した値が文字列の場合はその文字列、数値の場合は空を返す関数」です。

数式の結果が文字列の場合、以下のように「+N(“コメント”)」とコメントを追加してしまうと、「文字列+0」になり、正しく計算ができずにエラーになってしまいます。

=IF(C4>=400,"合","否")+N("400以上の場合に合格")

そのため、数式の結果が文字列の場合は、N関数でコメントを0にし、T関数で空にして、その空文字を加えます。
そのようにすることで、「文字列+空文字」となり、結果を変えずに表示させることができます。


まとめ

数式の中にコメントを残す際は、その数式の結果が数値の場合は「+N(“コメント”)」、文字列の場合は「&T(N(“コメント”))」を数式の末尾に追加します。

ただし、コメントを加えることで数式が長くなり、見づらく感じる場合もあります。
チームで使用する際は、コメントの追記ルールをあらかじめ資料などで共有しておくことをおすすめします。

2025/07/05
【番外-054】セル結合された表から数式で値を抽出

【番外-054】セル結合された表から数式で値を抽出

#XLOOKUP #FILTER #TEXTJOIN #TRANSPOSE

YouTubeで開く

結合されたセルを含む表から、表の中の特定の値を数式のみで抽出する方法について解説しています。

00:00 挨拶
00:49 イベント名の抽出
03:00 担当者名の抽出
08:37 まとめ
09:04 プレゼントについて

▼準備ファイル▼

2025/07/04
【ExcelVBA】選択するだけでテンプレ入力

【ExcelVBA】選択するだけでテンプレ入力

以下は、従業員を管理するための表です。

「勤務形態」によって、ある程度決まった入力パターンが存在します。
毎回同じような内容を手入力するのは、正直かなり手間です。
とはいえ、勤務形態ごとに例外が発生することもあるため、VLOOKUP関数などの数式だけでは柔軟に対応できません。

そこで今回は、「勤務形態」に応じたテンプレートデータを自動で入力する仕組みを実現する方法について解説していきます。

※こちらで実現したファイルは記事の最後にて配布しています。


1. 開発準備

今回は、上のテンプレート一覧の表の各行に入力ボタンを設けます。
そして、ボタンを押すと同時に、下の表の最終行に値のみが入力されるといった仕組みを開発します。

ただ、テンプレートの数が多い場合などは、ボタンを複数配置するのは大変です。
そのため今回は、実際のボタンではなく、ボタン風にデザインしたセルの上を選択すると同時に、処理が実行されるといった仕組みにしていきます。

ボタン風のデザインは、罫線や背景色などの書式設定を活用して実現しています。

今回のように、「特定のシートの特定のセルを選択すると同時に、何かしら処理を実行する」、そのような仕組みを実現するには、「シートモジュール」を活用します。

シートモジュールは、該当するシートのタブ上で右クリックし、[コードの表示]を選択することで表示することができます。

選択すると、以下のエディタ画面(VBE)が表示されます。
また、該当するシートのシートモジュールが表示された状態になります。
「Option Explicit」は、VBEの設定内容次第では表示されません。「Option Explicit」についての解説はこちらでは省略します。

次に、該当するシートのセルを選択すると同時に処理が実行される特殊なプロシージャ(イベントプロシージャ)を用意する必要があります。
そのためには、シートモジュールの左上のリストから「Worksheet」を選択します。

「Worksheet」を選択すると、自動で「Worksheet_SelectionChange」というプロシージャが表示されます。
このプロシージャが、該当するシート上のいずれかのセルが選択されると同時に処理が実行されるイベントプロシージャになります。

ExcelVBAレベル確認

2. コードの記述

以下のコードを記述します。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    
    If Target.CountLarge= 1 Then
        If Target.Row >= 3 And _
            Target.Row <= 5 And _
            Target.Column = 1 Then
            
            Dim tR As Long, lR As Long
            tR = Target.Row
            lR = Cells(Rows.Count, "A").End(xlUp).Row + 1
            
            Range(Cells(lR, "B"), Cells(lR, "D")).Value = _
                Range(Cells(tR, "B"), Cells(tR, "D")).Value
            
        End If
    End If
    
End Sub

では、コードについて解説していきます。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    
    If Target.CountLarge= 1 Then
        '省略
    End If
    
End Sub

「Worksheet_SelectionChange」というプロシージャの引数の「Target」に、選択されたセルの情報が渡されるため、そのセルの情報から、表の対象のセルが選択されたかどうかを確認しています。
こちらでは、選択されたセルが1つのみであることを確認しています。

        If Target.Row >= 3 And _
            Target.Row <= 5 And _
            Target.Column = 1 Then
            
            '省略
            
        End If

次に、選択されたセルの行番号が3以上、5以下、列番号が1であることを確認しています。
これは、ボタン風のデザインがされたセルの範囲内を指しています。

            Dim tR As Long, lR As Long
            tR = Target.Row
            lR = Cells(Rows.Count, "A").End(xlUp).Row + 1

以上の条件を満たしたときに、変数(tR)に選択されたセルの行番号、変数(lR)に下の表の最終行に1を加えた数値を格納しています。
変数(lR)に関しては、「Cells(Rows.Count, “A”)」でシートの末尾のA列のセルを指定し、「.End(xlUp)」で「Ctrl+↑」と同じように移動し、その止まった位置の行番号(.Row)に1を加えています。

            Range(Cells(lR, "B"), Cells(lR, "D")).Value = _
                Range(Cells(tR, "B"), Cells(tR, "D")).Value

最後に、先ほど取得した変数(tR、lR)を活用し、下の表の、最終行の1つ下の行のB列からD列に、選択された行のテンプレート一覧の表のB列からD列の値を入力しています。


3. 完成

以上の内容で完成です。
テンプレート一覧表の隣の「入力」と書かれたセルを選択すると同時に、下の表の末尾に自動で反映されます。

また、数式ではなく直接値が入力されるため、必要に応じて直接修正することもできます。

テンプレート一覧表を更新したとしても、既存の登録データには影響ありません。

▼サンプルファイル▼

2025/07/01
【Excel】選択したセルと同じ値のセルを自動色付け

【Excel】選択したセルと同じ値のセルを自動色付け

以下の表は、各役割の責任者と役割の氏名を割り当てたものです。

このような表だと、特定の氏名の役割のみを確認するのが大変です。
フィルター機能では、各項目で絞りなおす必要がありますし、毎回、検索機能を使うもの手間になります。

そのため今回は、『条件付き書式』のみを活用して、選択したセルと同じ値のセルを自動で色付けする方法について紹介していきます。

※こちらで作成したファイルは、記事の最後にて配布しています。


1. 条件付き書式に設定する条件式の作成

特定の条件を満たしたセルのみを色付けする場合、「条件付き書式」を活用します。
まずは、その条件付き書式に設定する「セルを色付けする条件式」を作成していきます。

セルを色付けする条件は以下になります。

該当するセルの値が、現在アクティブになっているセルの値と同じ場合

セルC3に対しての色付けする条件を考えると以下になります。

セルC3の値が、現在アクティブになっているセルの値と同じ場合

この条件を数式で表現するためには、「現在アクティブになっているセルの値」を取得する必要があります。
直接「現在アクティブになっているセルの値」を取得することはできないので、CELL関数INDIRECR関数を組み合わせて取得します。
具体的には、以下のような数式で「現在アクティブになっているセルの値」を取得します。

=INDIRECT(CELL("address"))
// CELL("address"):「$A$1」などとアクティブセルのアドレスを取得
// INDIRECT(アドレス):そのアドレスのセルの値を取得

セルC3に対しての条件式を考えると、上記の数式を活用した以下のような条件式なります。

=C3=INDIRECT(CELL("address"))

このように条件式を作成することができましたら、後は条件付き書式に設定してきます。


2. 条件付き書式の設定

次に、色付けする対象の範囲を選択します。
先ほどの条件式がそのまま使えるように、セルC3を基準として範囲全体を選択します。

選択できましたら、[ホーム]タブの中の[条件付き書式]から[新しいルール]を選択します。

条件付き書式の設定画面が表示されましたら、[ルールの種類]を[数式を使用して、書式設定するセルを決定]にし、表示されたテキストボックスに、先ほどの条件式を入力します。

上記の設定ができたら、[書式]を選択し、[塗りつぶし]タブから好みの色を選択して確定するだけです。

ExcelVBAレベル確認

3. 完成

以上の手順で完成です。
選択しているセルと同じ値のセルが自動で色付けされます。

ただ、条件付き書式に設定した条件式のCELL関数の値を更新するには、数式を再計算する必要があります。
数式を再計算する際は、セルを編集するか、[数式]タブの中の[再計算実行]を選択、もしくはF9キー(再計算のショートカット)を押すなどとする必要があります。

ぜひ試してみてください。

▼サンプルファイル▼

2025/06/29
【業務】進捗別でシート見出しの色を自動変更

【業務】進捗別でシート見出しの色を自動変更

#条件付き書式 #データの入力規則 #リスト #シートモジュール #Worksheet_Change #If

※サイト内の限定動画です。

シート内のタスクの進捗が完了になった時に、自動でシート見出しの色を変更(更新)する仕組みについて解説しています。

00:00 挨拶
00:20 完成イメージ
02:58 準備
03:19 作成(ステータスのリスト)
04:23 作成(セルの色変更)
07:33 作成(シート見出しの色変更)
14:03 完成
15:17 プログラムの全体
16:26 プレゼントについて

▼準備ファイル▼

2025/06/28
【業務】数式のみの本格的な検索機能

【業務】数式のみの本格的な検索機能

#FILTER #BYROW #ISNUMBER #FIND #IFERROR #INDEX #TEXTSPLIT #LAMBDA #OR

YouTubeで開く

数式のみで本格的な検索機能を実現する方法になります。
検索欄にカンマ区切りで複数ワードを指定することで、複数ワードでの検索も可能です。

00:00 挨拶
00:41 完成イメージ
01:25 準備
02:06 作成(テーブル化)
03:20 作成(FILTER関数の基本)
05:58 作成(全ての項目に対して抽出)
10:10 作成(FILTER関数に反映)
10:54 作成(複数ワード検索:応用)
14:43 作成(検索機能のデザイン変更)
16:29 完成
18:22 プレゼントについて

▼準備ファイル▼

2025/06/27
【ExcelVBA】非表示の行を一括で削除

【ExcelVBA】非表示の行を一括で削除

「表の中の特定のデータのみを残したい」

そのような場面、ありますよね。
特に、特定のデータのみを他の方に共有するときなどです。

ただ、標準機能には、「特定のデータ以外を一括で削除する」という機能はありません。
そのため、「特定のデータ以外で絞って、残ったデータ行を削除してから絞り込みを解除する」といった手順を行う必要があります。

例えば、以下の表から「地域が東京のデータのみ」を残したい場合、以下の手順になります。


① 東京以外で絞り込み

② 表示されたデータ行を削除

③ 絞り込みを解除(フィルターの解除)


ただ、「削除したいデータで絞り込みする」というのが直観的じゃないです。

そこで今回は、「残したいデータ」で絞り込んでから非表示のデータ行を一括削除できるように、非表示の行を一括削除する機能の開発方法について解説していきます。

※こちらで開発したファイルは、記事の最後にて配布しています。


1. 開発準備

まず初めに、[開発]タブを選択し、[マクロ]を選択します。

表示された以下の画面にて、開発する機能の名前を入力し、[作成]を選択します。
こちらでは、「DeleteHiddenRows」と入力しています。

次に表示される以下の画面の「Sub ○○」から「End Sub」の間にコードを記述します。

ExcelVBAレベル確認

2. コードの記述

以下のコードを記述します。

Sub DeleteHiddenRows()
    
    Dim r As Long
    For r = 100000 To 3 Step -1
        If Rows(r).Hidden Then
            Rows(r).Delete
        End If
    Next r
    
End Sub

では、コードについて解説していきます。

    Dim r As Long
    For r = 100000 To 3 Step -1
        '省略
    Next r

100000から3までを-1ずつ変数「r」に渡して、ForからNextの間を繰り返しています。
100000から3というのは、表の最終行(仮)から先頭行までを表しており、最終行の100000は、「100000行目まではデータがない」という前提の仮の値になります。

        If Rows(r).Hidden Then
            Rows(r).Delete
        End If

繰り返し処理で受け取る変数「r」の値を活用して、「r」行目が非表示の場合に「r」行目を行ごと削除しています。


3. ショートカットの割り当て

開発した機能が簡単に実行できるように、ショートカットを割り当てていきます。
まず、[開発]タブを選択し、[マクロ]を選択します。

マクロの画面から先ほどの開発したマクロ名を選択し、[オプション]を選択します。

表示された以下の画面にて、[ショートカットキー]のテキストボックスを選択し、好みのキーを入力します。
※「Ctrl+Shift+○」のようにShiftを加えたい場合は、「Shift+好みのキー」を入力します。

こちらでは、「Ctrl+Shift+D」に割り当てました。
ショートカットキーの入力後は、確定して画面を閉じます。

ExcelVBAレベル確認

4. 完成

以上の手順で完成です。
抽出したいデータのみに絞り込みし、割り当てたショートカットキーを入力することで、非表示の行がすべて削除されます。

必要に応じて、フィルター機能を解除していただいて問題ございません。
また、今回の機能は、フィルター機能による絞り込みでなくても、非表示の行があれば、削除対象となります。

▼サンプルファイル▼

2025/06/24
【Excel】VLOOKUPで「見つかった一番下の値」を抽出する方法

【Excel】VLOOKUPで「見つかった一番下の値」を抽出する方法

表からデータを検索して抽出する際に便利な関数に「VLOOKUP関数」があります。
しかし、この関数では、重複する値が存在する場合に、「上から順に最初に見つかった値」しか取得できません。

そこで今回は、VLOOKUP関数で「見つかった一番下の値」を抽出する方法について解説していきます。


1. 行番号を取得する補助列を追加

まずは、検索対象の表の左側に新しい列を追加し、以下の数式を入力します。

=IF(B3=$B$16,ROW(),"")

この数式は、「表の顧客IDが検索値(顧客ID)と一致する場合、その行の行番号を表示する」という内容です。
検索値(顧客ID)の参照は「$」を加えて絶対参照にしています。

この数式を、表の最後の行までコピーします。

これで該当する行のみ行番号を表示することができました。

ExcelVBAレベル確認

2. 最大の行番号を使ってVLOOKUPで抽出

次に、検索結果を抽出するセルに、以下の数式を入力します。

=VLOOKUP(MAX(A3:A12),A3:D12,3,FALSE)

この数式は、「先ほど抽出した行番号の最大値の行にある3列目(購入日)を抽出する」という内容です。
これで一番下にある該当データを抽出することができます。


Excel2021以降なら「XLOOKUP」が便利

Excel2021以降の環境の場合、XLOOKUP関数が使えます。
XLOOKUP関数は、VLOOKUP関数をさらに快適にした関数で、以下の数式1つで「見つかった一番下の値」を抽出することができます。

=XLOOKUP(B16,B3:B12,C3:C12,"",0,-1)

XLOOKUP関数についての詳しい解説は、以下の記事にて解説しています。
>VLOOKUP / INDEX・MATCH / XLOOKUP


まとめ

VLOOKUP関数単体では実現できないことでも、複数の関数を組み合わせることで解決できるケースは多くあります。

今回解説した「見つかった一番下の値を抽出する」方法もその一つです。
このテクニックを覚えておけば、実務でのデータ処理や分析の幅がぐっと広がります。

ぜひ、日々のExcel作業に取り入れてみてください。

2025/06/21
【1-入門13|ex1】シートを完全に非表示にする

【1-入門13|ex1】シートを完全に非表示にする

#シートモジュール #プロパティ

YouTubeで開く

再表示からでも表示することができないように、シートを完全に非表示にする方法について解説しています。
触られたくない設定用シートや計算用シートなどに活用できます。

00:00 挨拶
01:47 完全に非表示にする方法
04:26 表示する方法
05:34 複数のシートを一括で切り替える方法
08:19 プレゼントについて

2025/06/20
【ExcelVBA】新機能「セルにフォーカス」を自作する

【ExcelVBA】新機能「セルにフォーカス」を自作する

新機能「セルにフォーカス」は、選択中のセルの行と列をハイライト表示してくれる便利な機能です。

しかし、現時点では最新のバージョンでしか、この機能は使えません。
そこで、こちらの記事では、「セルにフォーカス」に似たような機能を自作する方法について解説していきます。

※こちらで作成したファイルは、記事の最後にて配布しています。


1. 条件付き書式の活用

「セルにフォーカス」という機能は、選択しているセルと同じ行、列のセルの背景を色付けするというものです。
そのような特定の条件を満たしたときのみにセルの色を変更する場合は、「条件付き書式」を活用します。


1.色付けしたい対象の範囲を選択

2.[ホーム]タブから[条件付き書式]の[新しいルール]を選択

3.表示された画面のルールの種類を[数式を使用して、書式設定するセルを決定]にし、以下の数式を入力

=XOR(ROW(A1)=CELL("row"),COLUMN(A1)=CELL("col"))
// セルA1は選択基準のセル(アクティブセル)

数式の意味は以下になります。

XOR:いずれかの条件を1つのみ満たしている場合
ROW(A1)=CELL("row"):対象のセルの行番号がアクティブセルの行番号と同じ
COLUMN(A1)=CELL("col"):対象のセルの列番号がアクティブセルの列番号と同じ

4.[書式]を選択し、[塗りつぶし]タブから好みの色を選択

5.確定


これで、アクティブセルと同じ行、列のセルの背景色を色付けすることができます。

ただし、他のセルを選択しても、色が更新されません。
色を更新するためには、セルを編集したり、F9キーを押したりして、数式を再計算する必要があります。

毎回、数式を再計算するのは大変ですので、次の設定を行います。

ExcelVBAレベル確認

2. 数式を自動で再計算させる

セルを移動した時に、自動で数式を再計算して、セルの色が更新されるようにしていきます。

特定のシートのセルを選択すると同時に、何かしらの処理を実行するには、該当するシートのシートモジュールを活用します。

シートモジュールは、該当するシートのタブ上で右クリックし、[コードの表示]を選択することで表示することができます。

選択すると、以下のエディタ画面(VBE)が表示されます。
また、該当するシートのシートモジュールが表示された状態になります。
「Option Explicit」は、VBEの設定内容次第では表示されません。「Option Explicit」についての解説はこちらでは省略します。

次に、該当するシートのセルを選択すると同時に処理が実行される特殊なプロシージャ(イベントプロシージャ)を用意する必要があります。
そのためには、シートモジュールの左上のリストから「Worksheet」を選択します。

「Worksheet」を選択すると、自動で「Worksheet_SelectionChange」というプロシージャが表示されます。
このプロシージャが、該当するシート上のいずれかのセルが選択されると同時に処理が実行されるイベントプロシージャになります。

このプロシージャの中に、「数式を再計算する」という以下の処理を記述します。

Application.Calculate
ExcelVBAレベル確認

3. 完成

以上の手順で完成です。
セルを選択すると同時に、数式が再計算され、選択しているセルがフォーカスされるようになります。

▼サンプルファイル▼


4. 注意点

自作する場合は、以下の点を考慮する必要があります。

・マクロ有効ブック(.xlsm)として保存する必要がある(マクロを使用しているため)
・数式が多いシートでは処理が重たくなる可能性がある(セルを選択する度、数式が再計算されるため)
・セルのコピー操作が解除されてしまうことがある(再計算と同時にコピーモードがキャンセルされるため)

2025/06/17
【Excel】表へのデータ入力を快適にするテクニック

【Excel】表へのデータ入力を快適にするテクニック

以下のような表へのデータ入力の作業は、単純なようで意外と手間がかかります。
「値を入力 → Enterキーで確定 → カーソルキーで移動 → 値を入力 → …」という繰り返しは大変ですよね。

ドロップダウンリストから選択する時は、わざわざマウスで選択…
これもまた大変です。

ということで今回は、TabキーとAltキーを活用した効率的な入力方法を紹介します。


快適に項目を移動する

通常、値を入力したあとにEnterキーで確定すると、カーソルは下方向に移動します。
Excelのオプションから移動する方向を変更することは可能ですが、常時、移動方向が変更した方向に変わってしまうので、快適とは言えません。

そこで、Tabキーを活用します。
Tabキーで確定することによって右方向に移動することができるため、横に並んだ項目を次々と入力することができます。

1つ前の項目に戻りたい時は、Shiftキーを押しながらTabキーを押すことで、戻ることができます。


快適にリストから選択する

次はドロップダウンリストの入力です。
リストに関しても、マウスを使わずに入力することができます。

その方法は、Altキーを押しながら下矢印キーです。
対象のセルを選択して、Altキーを押しながら下矢印キーを押すことで、リストを展開することができます。

リストを展開した後は、上矢印キー、下矢印キーで選択肢を移動して、EnterキーまたはTabキーで確定します。


過去に入力した値から選択する

実は、Altキーと下矢印キーは、ドロップダウンリストが設定されていないセルでも使うことができます。
リストが設定されていないセルで使うと、その項目で過去に入力した値がリストとなって表示されます。

ただし、この過去に入力した値のリストから選択して確定する場合は、TabキーではなくEnterキーで行う必要があります。


次の行に移動する

表の最後の項目まで移動した後に、次の行の先頭の項目に移動したい場合は、Enterキーで確定するだけです。
Tabキーで項目を移動した場合、Enterキーで確定することで、Tabキーで移動した最初の位置の下のセルに移動することができます。


まとめ

Tabキー:右隣りのセルへ移動
Altキー + 下矢印キー:リストや履歴の展開

これらの操作を覚えておくだけで、表への入力作業が快適になります。
ぜひご活用ください。