TH69です。 今回はエクセルのマクロネタですので、興味のない方は読み飛ばして下さい。 新しいPCでは「個人用マクロブック」という便利なエクセルの機能をまだ使っていないので、いい機会と思いその使い方を記事にしてみました。「個人用マクロブック」は汎用のマクロなどをいつでも使えるように登録できる機能で、使い方によっては邪魔臭い作業を大幅に短縮することができます。 エクセルのリボンに「開発」が表示されていない場合は、ファイル>オプション>リボンのユーザー設定を開いて「開発」にチェックを入れて表示させて下さい。 ![]() では、「個人用マクロブック」を実際に使ってみましょう。 今回は行列番号の表示と非表示の切り替えをやってみたいと思います。 何でもいいのでエクセルのブックを開き「開発」タブを表示すると、そこに「マクロの記録」がありますのでクリックします。 ![]() すると「マクロの記録」ウインドウが開きますので、「マクロの保存先」の右端にある▼をクリックし、「個人用マクロブック」を選択し「OK」ボタンを押します。 ![]() 「OK」ボタンを押すとマクロの記録が始まりますので、ファイル>オプション>詳細設定>次のシートで作業するときの表示設定にある「行列番号を表示する」のチェックを外し「OK」ボタンをクリックします。 ![]() 元の画面に戻ったら開発タブの「記録終了」をクリックしてマクロの記録を終了させます。行列番号は非表示になっていますね。 ![]() そして同じ開発タブの「Visual Basic」をクリックします。 ![]() すると「Visual Basic for Applications」というウインドウが開きます。よく「VBA」とか言ってるあれですね。この画面はVisual Basic Editor(VBE)というもので、VBAのコードを編集するためのエディタとなります。 ![]() その左画面にある「VBAProject(PERSONAL.XLSB)」のツリーを開き、標準モジュールにある「Module1」を開きます。すると何かプログラムのコードのようなものが表示されます。これが今マクロ記録した「行列番号非表示」のVBAコードとなります。 (この「PERSONAL.XLSB」が個人用マクロブックの本体で、通常は非表示のブックです。) 先頭がシングルコーテーションの行はコメントなので、結局VBAコードとしては「ActiveWindow.DisplayHeadings = False」だけのようです。簡単ですね。英語が苦手な私でも何となくわかります。「アクティブウインドウの行列番号表示→しない」みたいです。 ![]() それでは試しに「= False」の部分をクリアし、「=」を入れてみましょう。すると下の画像のようにリストが表示されますので、Trueを選択してダブルクリック(もしくはTabキー)で確定させます。「True」なので、多分行列番号が表示されるはずですね。 ![]() VBE画面のツールバーに右三角の実行ボタンがありますので押してみましょう。その時どのマクロを実行するのかVBEは判断できませんので、カーソルを実行したいマクロの「Sub~End Sub」の間に置くようにしてくださいね。 ![]() 思い通りに行列番号が表示されました。簡単ですね(笑)。 でも、これはこれで邪魔臭いですね。行列番号の表示非表示を切り替えるためにVBEを操作するなんて考えられません(汗)。では、「ActiveWindow.DisplayHeadings = True」と「ActiveWindow.DisplayHeadings = False」のマクロを作って利用しましょうか。(私も昔はそのようにしていました)でも「True」と「False」を切り替えるだけなので、何とか一つのコードに収められそうです。 ![]() ここからはVBAのプログラミングになりますね。まずマクロ一覧に表示されるマクロ名である「Macro1」(数字部分は変わる場合があります)の部分を、分かりやすい「行列番号切替」などに変更します。その時に「半角スペース」や「()」などは変更しないように注意してくださいね。 ![]() 次に「ActiveWindow.DisplayHeadings = True」の頭に「if」と入力します。「if」の後ろには半角スペースを入れます。そして半角スペースを空けて「then」と入力し確定します。勘のいい方ならわかると思いますが動きは数式内のIF関数と同じで、「If~Then〇」で「もし~だったら〇を実行」となります。VBAでは「IF文」と言います。 このコードは「アクティブウインドウの行列番号が表示だったら〇を実行」となりますね。 ![]() 「アクティブウインドウの行列番号が表示だったら」どうしたいかというと非表示にしたいわけですから、 「ActiveWindow.DisplayHeadings」と入力して(コピペでいいです)「=」を入れ、出てきたリストから「False」を選択して確定します。 ![]() そして改行して「else」と入力します。数式内のIF関数の「もし~でなかったら●」の部分ですね。 ![]() この場合「アクティブウインドウの行列番号が表示でなかったら(非表示だったら)」何がしたいかというと、表示したいわけなので「ActiveWindow.DisplayHeadings = True」(コピペでいいです)と入力します。 ![]() さらに改行して「end if」と入力します。これはIF文を使う場合の決まり事で、これがないとIF文がどこで終了するのか分からないので必ず入力します。 VBAのIF文は基本中の基本なので、『If~Then〇(Else●)End If』は定型文として覚えておくと便利です。数式でIF関数が使える人なら何の問題もなく理解及び使用ができると思います。(「Else」がカッコなのは使用しない場合もあるからです。) ![]() VBEでのVBAコード編集作業はこれで終了となります。実際に動くかどうか「実行ボタン」を何度か押して行列番号の表示と非表示が切り替わることを確認してくださいね。 お疲れさまでした。 でも、このままでは個人用マクロブックの利用はできませんので注意してください。個人用マクロブックを利用する設定を保存しないといけないためです。 ブックを閉じる時に下の画像のようなダイアログが出ると思いますが、ここで「すべて保存」をクリックすることにより個人用マクロブックが有効になります。次回エクセル起動時より非表示で「PERSONAL.XLSB」が開き、そこに登録されたマクロを使用できるようになります。 ![]() それから今回作ったマクロ「行列番号切替」を利用する場合は、開発タブのマクロをクリックします。 ![]() そこで出てきたマクロウインドウのマクロを選択し実行ボタンを押します。 ![]() これで今までの『ファイル>オプション>詳細設定>次のシートで作業するときの表示設定』からやるよりはかなり楽になりましたが、まだ邪魔臭い気がします。 次回(があればですが…)は、もっと簡単にマクロを利用できるようにする方法をアップしたいと思います。 同じやり方で汎用マクロ(設定関係が特に便利です)が色々個人用マクロブックに登録できますのでお試しください。ご質問等あればコメントなどでお願いします。 では。 【参考コード】 Sub 行列番号切替() If ActiveWindow.DisplayHeadings = True Then ActiveWindow.DisplayHeadings = False Else ActiveWindow.DisplayHeadings = True End If End Sub (可読性をアップするVBAコードのインデント(字下げ)はTabキーで)
by th1252
| 2019-08-10 15:42
| Excel
|
Trackback
|
Comments(0)
|
カテゴリ
メモ帳
以前の記事
2025年 10月
2025年 09月 2025年 08月 2025年 07月 2025年 05月 2025年 04月 2025年 01月 2024年 12月 2024年 11月 2024年 09月 2024年 06月 2024年 04月 2024年 01月 2023年 12月 2023年 11月 2023年 10月 2023年 09月 2023年 08月 2023年 07月 2023年 06月 2023年 05月 2023年 04月 2023年 02月 2023年 01月 2022年 12月 2022年 11月 2022年 10月 2022年 09月 2022年 08月 2022年 07月 2022年 05月 2022年 04月 2022年 03月 2022年 02月 2022年 01月 2021年 12月 2021年 11月 2021年 10月 2021年 09月 2021年 08月 2021年 07月 2021年 06月 2021年 05月 2021年 04月 2021年 03月 2021年 02月 2021年 01月 2020年 12月 2020年 11月 2020年 10月 2020年 09月 2020年 08月 2020年 07月 2020年 06月 2020年 05月 2020年 04月 2020年 03月 2020年 02月 2020年 01月 2019年 12月 2019年 10月 2019年 09月 2019年 08月 2019年 07月 2019年 06月 2019年 05月 2019年 04月 2019年 03月 2019年 02月 2019年 01月 2018年 12月 2018年 11月 2018年 10月 2018年 09月 2018年 08月 2018年 07月 2018年 06月 2018年 05月 2018年 04月 2018年 03月 2018年 02月 2018年 01月 2017年 12月 最新のコメント
最新のトラックバック
検索
タグ
最新の記事
外部リンク
記事ランキング
|
ファン申請 |
||