目 次
Excel:文章の表記や体裁を変更するやり方
校正・校閲の領域でもデジタル化の波は年々進んでいますが、まだ人に置き換わるツールは存在しません。現在の校正に関するデジタルツールは、部分的に活用することで、その効果を最大に発揮できるものがほとんどです。
そんなデジタルツールですが、有料のソフトを購入したり、ネットでフリーソフトを探したりしなくても、自分で作ることができます。自分で作るといってもそんなに難しくはありません。
ここではエクセルのマクロを使用しますが、マクロといってもコードをあらかじめ用意しています。コピペと文字入力さえできれば、誰でも簡単にできます。
非常にシンプルなマクロです。マクロを全く知らないという方でも、すぐに自分用にカスタマイズすることが可能です。
このマクロを使えば、表記ゆれや体裁の修正が一括でできます。エクセルの完全一致で検索・置換するので精度は100%です。ひと手間かけるだけで、校正作業の負荷を軽減することができます。
まずは、自分で作ってみて『こんなことができるのか』と実感してみてください。
すぐに活用する機会がなくても、知識だけでも頭に入れておいて、自分の業務で使える部分はないか探してみてください。
1. 体裁を整える(全角英字を半角に直す)
最初は、体裁の一括修正を行います。これだけ覚えておくだけでも、ここで紹介するマクロの使い方の8割ぐらいを知ることができます。
<準備>
まずは、エクセルで新しいブックを作成します。もしくは、既存のブックをコピーしたものを用意してください。
マクロを使って修正したものは「Ctrl+z」で取り消しができません。また、他に開いているエクセルブックがあれば、それにもマクロが適用されるので閉じておいてください。
▼ ここから順を追って、全角の英字を半角に自動で直すマクロの説明をしていきます。
[1]どこのセルでも大丈夫です。全角で「ABC」と入力してください。
その下に、半角で「ABC」と入力します(※この半角のABCは比較用です)。
ここで入力した全角の「ABC」を、自動で半角の「ABC」に修正できるように設定します。
[2]【表示】タブ →【マクロ】→【マクロの表示】へ進みます。
[3]【マクロの表示】をクリックすると次の画面が表示されます。
[4]【マクロ名】の欄に、今から作るマクロの名前を入力します。何でも大丈夫ですが、ここでは『全角英字を半角に』とします。その後、作成ボタンを押してください。
青枠の「マクロの保存先」は、デフォルトで「開いているすべてのブック」となっています。他にブックを開いていると、そのブックにもマクロが保存されます。他のブックが閉じているか再度確認してください。
※もしくは、プルダウンから保存先のブックを選ぶことができます。
[5]マクロの編集画面です。
この画面の『Sub 全角英字を半角に()』と『End Sub』の間の行に、次のコードをコピペします。
※Windows用です。
Cells.Select
Selection.Replace What:="A", Replacement:="A", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Cells.Select
Selection.Replace What:="B", Replacement:="B", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Cells.Select
Selection.Replace What:="C", Replacement:="C", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
▼ コードについての説明
コードは、3つのブロックで構成されています。○と○の部分以外は3つともすべて同じです。
①~③は、すべて同じ動きをするコードです。
①を見てみると、全角の「A」を検索して、半角の「A」に置き換えるという指示です。②と③も同様です。
[6]コピペし終えたら、右上の「×」ボタンで一旦画面を閉じてください。自動で保存されます。
[7]再度、【マクロの表示】からマクロの画面を表示させます。
[8]あとは、「実行」を押すだけです。
これで[1]で入力した全角の「ABC」が半角に変わります。
[9]結果です。
比較用に入力した半角の「ABC」と同じものになっているはずです。
基本的な手順はこれで終了です。
ここでは、ABCの3文字だけでしたが、記事の最後に『全角の英数字を半角に直すコード』の完全版を用意していますので、この手順で試してみてください。
少し手間をかけるだけで、全角の英数字が何千文字あっても、一瞬で半角に修正することができます。さらに、全角と半角の混在は英数字だけではないので、記号類などにも応用して使えます。
2. ショートカットキーでさらに便利に
ここからは応用です。応用といっても、コピペと部分的な文字修正をするだけです。ショートカットキーの設定をしてさらに手順を省力化します。
[1]【マクロの表示】から、マクロの画面を表示させます。
【オプション】を選択します。
[2]「ショートカットキー」の欄に「 q 」と入力します(※「 q 」以外でも大丈夫です)。これでショートカットキーの設定ができました。あとは、「OK」を押して画面を閉じてください。
[3]再度、全角の「ABC」と入力してください。
あとは、設定したショートカットキーの「 Ctrl+q 」を押すだけです。
[4]結果です。
これで、マクロの画面を開いて「実行」ボタンを押さなくても、ショートカットキーで修正することができます。
3. 表記を修正する①
エクセルで文章の入力をするという方は少ないかもしれませんが、このマクロで文章の表記を修正することもできます。
[1]【マクロの表示】から、マクロの画面を表示させます。
【編集】を選択します。
[2]マクロの編集画面が表示されます(※最初にコードをコピペした画面です)。
ここで以下の部分の文字を修正してください。
・赤枠の全角の「A」を「下さい」に修正
・青枠の半角の「A」を「ください」に修正
これで「下さい」を「ください」に修正するコードができます。
修正できたら、右上の「×」ボタンで画面を閉じます。自動で保存されます。
[3]シートに「下さい」と入力してください。
あとは、ショートカットキーの「Ctrl+q」を押すだけです。
[4]結果です。
「下さい」が「ください」に置き換わります。
この要領で、任意の文字の置き換えができます。
4. 表記を修正する②
ここからは、「下さい」と「ください」の応用です。
[1]【マクロの表示】→【編集】と進み、【マクロの編集画面】を開きます。
赤枠の部分を下にコピペします。
※「Bを置換するコード部分」と「Cを置換するコード部分」のコピペです。
[2]「下さい」と「ください」を修正した要領で以下の文字に修正してみてくだい。
----------------------------------------
□ 頂く ⇒ □ いただく
□ 又は ⇒ □ または
□ 一つづつ ⇒ □ 一つずつ
□ 内臓 ⇒ □ 内蔵
----------------------------------------
修正できたら、右上の「×」ボタンで画面を閉じます。自動で保存されます。
[3]シートに「下さい」「頂く」「又は」「一つづつ」「内臓」と入力します。
あとは、「Ctrl+q」を押すだけです。
[4]結果です。
すべての文字が、置き換わっていると思います。
このようにコードの一部を修正するだけで、どんな文字にも置き換えることができます。
5. 気を付けておきたいこと
気を付けておきたいことは2点です。
1. マクロで行った修正は強制的に上書き保存されますので「Ctrl+z」で取り消しができません。そのため、ブックを複製してから作業を行ってください。
2. 複数のエクセルブックを開いていると、他のブックにもマクロが適用されます。マクロを使用する場合は、他のブックを閉じておいてください。
この2点さえ気を付けておけば、あとは何の問題もなく、簡単に文章の表記や体裁を自動で変更できます。
6. 全角英数字を半角にするコード
前半で紹介したコードの完全版です。使用手順は【1】~【9】と全く同じです。
・このコードで修正できること
1. 全角のa~zを半角にする
2. 全角のA~Zを半角にする
3. 全角数字0~9を半角にする
※見やすくするために「 ' 」を入れていますが、あってもなくても機能します。削除しても大丈夫です。
Cells.Select
Selection.Replace What:="a", Replacement:="a", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _
ReplaceFormat:=False
'
Cells.Select
Selection.Replace What:="b", Replacement:="b", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _
ReplaceFormat:=False
'
Cells.Select
Selection.Replace What:="c", Replacement:="c", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _
ReplaceFormat:=False
'
Cells.Select
Selection.Replace What:="d", Replacement:="d", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _
ReplaceFormat:=False
'
Cells.Select
Selection.Replace What:="e", Replacement:="e", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _
ReplaceFormat:=False
'
Cells.Select
Selection.Replace What:="f", Replacement:="f", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _
ReplaceFormat:=False
'
Cells.Select
Selection.Replace What:="g", Replacement:="g", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _
ReplaceFormat:=False
'
Cells.Select
Selection.Replace What:="h", Replacement:="h", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _
ReplaceFormat:=False
'
Cells.Select
Selection.Replace What:="i", Replacement:="i", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _
ReplaceFormat:=False
'
Cells.Select
Selection.Replace What:="j", Replacement:="j", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _
ReplaceFormat:=False
'
Cells.Select
Selection.Replace What:="k", Replacement:="k", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _
ReplaceFormat:=False
'
Cells.Select
Selection.Replace What:="l", Replacement:="l", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _
ReplaceFormat:=False
'
Cells.Select
Selection.Replace What:="m", Replacement:="m", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _
ReplaceFormat:=False
'
Cells.Select
Selection.Replace What:="n", Replacement:="n", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _
ReplaceFormat:=False
'
Cells.Select
Selection.Replace What:="o", Replacement:="o", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _
ReplaceFormat:=False
'
Cells.Select
Selection.Replace What:="p", Replacement:="p", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _
ReplaceFormat:=False
'
Cells.Select
Selection.Replace What:="q", Replacement:="q", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _
ReplaceFormat:=False
'
Cells.Select
Selection.Replace What:="r", Replacement:="r", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _
ReplaceFormat:=False
'
Cells.Select
Selection.Replace What:="s", Replacement:="s", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _
ReplaceFormat:=False
'
Cells.Select
Selection.Replace What:="t", Replacement:="t", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _
ReplaceFormat:=False
'
Cells.Select
Selection.Replace What:="u", Replacement:="u", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _
ReplaceFormat:=False
'
Cells.Select
Selection.Replace What:="v", Replacement:="v", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _
ReplaceFormat:=False
'
Cells.Select
Selection.Replace What:="w", Replacement:="w", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _
ReplaceFormat:=False
'
Cells.Select
Selection.Replace What:="x", Replacement:="x", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _
ReplaceFormat:=False
'
Cells.Select
Selection.Replace What:="y", Replacement:="y", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _
ReplaceFormat:=False
'
Cells.Select
Selection.Replace What:="z", Replacement:="z", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _
ReplaceFormat:=False
'
Cells.Select
Selection.Replace What:="A", Replacement:="A", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
'
Cells.Select
Selection.Replace What:="B", Replacement:="B", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
'
Cells.Select
Selection.Replace What:="C", Replacement:="C", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
'
Cells.Select
Selection.Replace What:="D", Replacement:="D", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
'
Cells.Select
Selection.Replace What:="E", Replacement:="E", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
'
Cells.Select
Selection.Replace What:="F", Replacement:="F", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
'
Cells.Select
Selection.Replace What:="G", Replacement:="G", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
'
Cells.Select
Selection.Replace What:="H", Replacement:="H", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
'
Cells.Select
Selection.Replace What:="I", Replacement:="I", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
'
Cells.Select
Selection.Replace What:="J", Replacement:="J", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
'
Cells.Select
Selection.Replace What:="K", Replacement:="K", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
'
Cells.Select
Selection.Replace What:="L", Replacement:="L", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
'
Cells.Select
Selection.Replace What:="M", Replacement:="M", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
'
Cells.Select
Selection.Replace What:="N", Replacement:="N", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
'
Cells.Select
Selection.Replace What:="O", Replacement:="O", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
'
Cells.Select
Selection.Replace What:="P", Replacement:="P", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
'
Cells.Select
Selection.Replace What:="Q", Replacement:="Q", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
'
Cells.Select
Selection.Replace What:="R", Replacement:="R", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
'
Cells.Select
Selection.Replace What:="S", Replacement:="S", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
'
Cells.Select
Selection.Replace What:="T", Replacement:="T", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
'
Cells.Select
Selection.Replace What:="U", Replacement:="U", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
'
Cells.Select
Selection.Replace What:="V", Replacement:="V", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
'
Cells.Select
Selection.Replace What:="W", Replacement:="W", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
'
Cells.Select
Selection.Replace What:="X", Replacement:="X", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
'
Cells.Select
Selection.Replace What:="Y", Replacement:="Y", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
'
Cells.Select
Selection.Replace What:="Z", Replacement:="Z", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
'
Cells.Select
Selection.Replace What:="1", Replacement:="1", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
'
Cells.Select
Selection.Replace What:="2", Replacement:="2", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
'
Cells.Select
Selection.Replace What:="3", Replacement:="3", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
'
Cells.Select
Selection.Replace What:="4", Replacement:="4", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
'
Cells.Select
Selection.Replace What:="5", Replacement:="5", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
'
Cells.Select
Selection.Replace What:="6", Replacement:="6", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
'
Cells.Select
Selection.Replace What:="7", Replacement:="7", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
'
Cells.Select
Selection.Replace What:="8", Replacement:="8", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
'
Cells.Select
Selection.Replace What:="9", Replacement:="9", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
'
Cells.Select
Selection.Replace What:="0", Replacement:="0", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False