Latest evidence-based health information
Apps

Excel 2013でマクロを作成する方法

Excel 2013でマクロを作成する方法
Excel 2013でマクロを作成する方法

マクロを使わないなら、Excelの最も強力な機能の一つを見逃していることになります。マクロは、よく使われる繰り返し作業を自動化することで、時間を節約し、面倒な作業を軽減します。マクロを作成するのに、プログラマーである必要も、Visual Basic Applications (VBA) の知識を持つ必要もありません。Excel 2013なら、キー入力を記録するだけで簡単にマクロを作成できます。

ここでは、よく実行される 5 つの機能のマクロを作成する方法を説明します。

マクロの基本

マクロを記録するには、「開発」タブの「マクロの記録」をクリックします。「マクロの記録」ダイアログボックスで以下の情報を入力し、 「OK」をクリックします。

マクロ名— 最初の文字は英字で、その後は英字、数字、またはアンダースコアから選択できます。その他の文字は使用できません。

ショートカットキー— Ctrl+J と Ctrl+M が利用可能です。他の文字を選択した場合、マクロはそのキーの本来の機能を上書きします。

保存場所— 「このブック」または「新しいブック」に保存されたマクロは、そのブック内でのみ機能します。すべてのスプレッドシートで使用するには、マクロを個人用マクロブック(PMW)に保存してください。

説明- マクロについて説明します。

F1マクロ基礎

マクロに名前を付けて保存し、定義します。

マクロは繰り返しのタスクを実行するため、多くの異なるスプレッドシートで使用することが目的です。つまり、すべてのスプレッドシートが同一でない限り(つまり、同じ列と行に同じ数のレコードがある場合を除き)、セルアドレス(C1、D5など)をハードコードすることはできません。同様のデータを持つすべてのスプレッドシートでマクロを実行するには、方向キーを使用して移動する必要があります(そうすれば、レコード数は関係ありません)。そして、常にA1から開始する必要があります。

インポートしたデータを整理、フォーマット、並べ替える

他のプログラムからのデータは、多くの場合、TSVファイルまたはCSVファイル(タブ区切りまたはカンマ区切りの値)で提供されます。毎月24個ものこのようなファイルを受け取り、整理し、不要なデータを削除し、会社名で並べ替える必要があると想像してみてください。このようなレポートを作成するには何時間もかかります。このマクロを使えば、数秒で完了します。

CSVワークシートを開きます。上記の指示に従ってマクロに名前を付け、定義して保存し、以下のキー操作を記録します。

1. Ctrl+Homeキーを押して、セルA1にカーソルを移動します。Ctrlキーを押しながら、削除したい列(BからN、およびR)の文字をクリックします。[ホーム] > [削除] > [シートの列]を選択します。

f2 不要な列を削除

めちゃくちゃですね。まずは不要な列を削除してください。

2. Ctrlキーを押しながら列Aと列Dをクリックします。「ホーム」>「書式」>「列幅」>「42」>「OK」を選択します。Ctrlキーを押しながら列Bと列Cをクリックします。「ホーム」>「書式」>「列幅」>「25」>「OK」を選択します。

3. Ctrl + Home キーを押し、次に Ctrl + A キーを押します (スプレッドシート内のすべてのデータを選択します)。

「ホーム」>「並べ替えとフィルター」>「ユーザー設定の並べ替え」を選択します。「並べ替え」ダイアログボックスの「列」で「名前」を選択します。「並べ替えのキー」で「値」を選択し、「順序」で「AZ」を選択します。

f3 ソート

会社名で並べ替えます。

4. 「開発」>「記録の停止」を選択すると記録は完了です。ワークシートをExcelファイルとして保存します。CSVファイルを再度開き、「開発」>「マクロ」を選択し、リストからBranchCSVマクロを選択して「実行」をクリックします。ワークシート全体が1秒で整理されます。

f4 マクロ実行

CSV ファイルを再度開き、マクロを実行します。

1つの列の名前を2つに分割する

1列に長い名前リストがあり、姓と名を分けて2列に分割する必要があった経験は、これまでに何回ありますか?このマクロを使えば、数秒で分割できるだけでなく、リストを並べ替え、列幅を調整し、リストの合計数も表示できます。「Names」ワークシートを開き、マクロに名前を付けて定義し、キー操作を記録します。

1. Ctrl+Home、Ctrl+Aを押します。「データ」>「区切り位置」を選択します。最初のウィザードダイアログボックスで、「区切り文字」>「次へ」をクリックします。2番目のボックスで、テキストを区切る文字を選択します。リストはスペースで区切られているので、「スペース」>「次へ」を選択します。最後のボックスで、「テキスト」>「完了」をクリックします。

g1 テキストを列に表示する機能

名と姓を分けるには、「テキストを列に分割」を選択します。

2. Ctrl+Homeキーを押し、次にCtrl+Aキーを押します。「ホーム」>「並べ替えとフィルター」>「ユーザー設定の並べ替え」を選択します。「並べ替え」ダイアログの「並べ替えの基準」フィールドで列Bを選択します。「レベルの追加」をクリックし、「次の基準」フィールドで列Aを選択します。「並べ替えの基準」と「順序」は、デフォルト値の「値」と「AZ」のままにして、「OK」をクリックします。

g2 ソートフィルター

姓、名の順に 2 つのレベルで並べ替えます。

3. Ctrl+Homeキーを押します。Shift+右矢印キーを押してA1からB1までをハイライトします。「書式」>「列幅」>「15」>「OK」をクリックします。

4. Ctrl+Homeキーを押します。「ホーム」>「シートの行の挿入」を2回選択します。A1に「」と入力しますTotal Names。右矢印キーでB1に移動し、次の数式を入力します。Ctrl =COUNTA( +下矢印キー、  Endキー、Shift+下矢印キー、  Enterキー、Ctrl+Homeキーを押します。合計がB1に表示されます。

g3 数式を追加してマクロを実行

リスト内の名前を数える数式を入力し、マクロを実行します。

5. 記録を停止し、ワークシートをNames2として保存します。Namesファイルを再度開き、マクロを実行します。

列を分割してミドルネームを調整する

Excel 2013では、名前の1列を2列に分割するのは簡単ですが、リストの半分にミドルネームやイニシャルが含まれ、残りの半分に含まれていない場合はどうでしょうか?このマクロは、ミドルネームやイニシャルのエントリを抽出し、それらをファーストネームと再結合して、ファーストネーム/ミ​​ドルネームを1列目、ラストネームを2列目とする1つのリストを作成します。3つの名前を含むファイルを開き、マクロに名前を付けて定義し、これらのキー操作を記録します。

1. Ctrl+Home、Ctrl+Aを押します。「データ」>「テキストを区切り位置」を選択します。ウィザードボックスで、「区切り」>「次へ」スペース>「次へ」テキスト>「完了」をクリックします。1列が3列になります。

2. Ctrl+Home、Ctrl+Aを押します。「ホーム」>「並べ替えとフィルター」>「ユーザー設定の並べ替え」>「列C」を選択します。Shift+右矢印キーを押します。「書式」>「列幅」>「15」>「OK」をクリックします。

3. Ctrl+Homeキーを押し、右矢印キーを2回押します。Endキーを1回押し下矢印キーを2回押し、右矢印キーを1回押します。これでカーソルがC列の最初の空白セルに移動し、次にD列の隣接するセルに移動します。 と入力し、上矢印キー、 EndキーSTOP、上矢印キーを押します。次の数式を入力し、 Enterキー、上矢印キーを押します。=A1&” “&B1

p1 テキスト列ソート幅停止式

方向キーを使用して移動し、マクロがすべての類似ワークシートで機能するようにします。

4. Ctrl+C、下矢印キーを押します。Shiftキーを押しながら、Endキー、下矢印キー、上矢印キー、Enterキーを押します(数式をコピーします)。上矢印キーを1回押し、Shiftキーを押しながらEndキー、下矢印キー、上矢印キーを押します(これにより、STOPキーなしで範囲が強調表示されます)。

5. Ctrl+C、Ctrl+Homeを押し、「貼り付け」>「形式を選択して貼り付け」>「値」>「OK」を選択します。Escape 、Ctrl+Home、右矢印キーを2回押します。Shiftキーを押しながら、End 、下矢印、Ctrl+ C、左矢印、Enterキーを押して姓をコピーします。右矢印キー、Shift+右矢印キーを押します。

p2 コピーペースト式 列の削除

数式をコピーして貼り付け、余分な列を削除します。

6. 「削除」>「シートの列を削除」を選択します。Ctrl+Homeキーを押します。記録を停止し、ワークシートを「3Names2」として保存します。3Namesを再度開き、マクロを実行します。

繰り返しテキスト

同じ情報を1日に10回も入力しているなら、マクロはまさにうってつけです。たとえ情報が簡潔なものであっても、マクロを使えば数秒で入力が完了し、正確性が確保されます。このマクロは、ワークシートの先頭に会社情報を追加し、現在の日付を挿入します。新しいワークシートを開き、マクロに名前を付けて定義し、これらのキー入力を記録します。

1. Ctrl+Homeキーを押します。Shiftキーを押しながら右矢印キーを2回押します。Homeキーを選択します。「配置」グループから「セルを結合」を選択します。セルに次の数式を入力します。EnterA1: =TODAY() キー、上矢印キーを押します。 「ホーム」>「書式」>「セルの書式設定」>「日付」を選択します。リストから日付形式を選択し、「OK」をクリックします。下矢印キーを2回押します。

2. 繰り返し情報を入力し、各行の末尾でEnterキーを押します。下矢印キーを押します。 「開発」>「記録の終了」を選択します。すべて削除し、セルA1からA3までの結合を解除してからマクロを実行します。ワークシートを保存します。

s1 繰り返しテキスト

繰り返し入力する必要がないように、現在の日付を含むヘッダー マクロを作成します。

空白行を削除する

空白行で埋め尽くされたワークシートは、管理、並べ替え、計算が不可能です。まず、マクロにスプレッドシートのデータのみをハイライト表示するように指示し、次に空白行を選択して削除します。これで、データの管理が簡単になります。

空白行のあるファイルを開き、マクロに名前を付けて定義し、これらのキーストロークを記録します。

1. Ctrl+Home キーを押します。注: スプレッドシートに空白行がある場合、Ctrl+A キーではすべてのデータが選択されませんが、このマクロではすべてのデータが選択されます。

2.ホーム > 挿入 > シートの列を選択します。Endキー、下矢印キー、右矢印キー、End キー、上矢印キーを押します。Ctrl + Shift キーを押しながら Home キー、Shift キーを押しながら右矢印キー、Ctrl + Shift キーを押しながら右矢印キーを押します。これでデータ範囲が適切に選択されます。

s3の空白を削除

空白行を削除します。

3. 「ホーム」>「検索と選択」>「特別な移動」を選択します(またはCtrl+G、Alt+Sを押します)。「空白」>「OK」をクリックすると、すべての空白が灰色でハイライト表示されます。「削除」>「セルの削除」>「セルを上にシフト」>「OK」を選択すると、空白が消えます。Ctrl+Homeを押し、「削除」>「シートの列の削除」を選択すると、セルのアドレスをハードコードすることなく、スプレッドシートを強調表示するために挿入した余分な列が削除されます。

4. 記録を停止します。すべてのステップを元に戻し、マクロを実行します。ワークシートを保存します。

Otpoo

Health writer and researcher with expertise in evidence-based medicine and healthcare information.