自動記録機能を使わないでエクセルマクロを作成してみよう!
ここでは、エクセルのマクロの自動記録機能を使って作成するのとは逆に、マウスやキーボードなどを使用して操作できない。つまり自動記録で作成できないマクロを作成する方法をご紹介します。
1.マクロを修正(マクロ名「ファイルを開く用」を修正します)
・「Visual Basic Editor」ボタン選択します。
選択の仕方は「Visual Basic」ツールバーから「Visual Basic Editor」ボタンを押下してもいいし、「ツール」→「マクロ」→「Visual Basic Editor」でもどちらでもいいです。
・プロジェクトウィンドウにある、「標準モジュール」または「モジュール」をダブルクリックします。
・module1というマクロ名が表示されるのでダブルクリックをすると、マクロコード画面が表示されます。
2.マクロの追加(ここではメッセージを表示させるように修正します。)
・ファイルを開くマクロの前に「msgbox "ファイルを開きます。", , "メッセージの表示" 」と入力します。
・ファイルを開くマクロの後ろに「msgbox "ファイルを開きました。", , "メッセージの表示" 」と入力します。
3.マクロを保存する
・修正したマクロを保存します。
保存方法はVisual Basic画面右上の「閉じる」ボタンを押下するか、「ファイル」→「終了してMicrosoft Excelへ戻る」を選択すると出来ます。
4.マクロの実行
・修正したマクロを実行します。
実行方法は、マクロの実行ボタンの押下、または「ツール」→「マクロ」→「マクロ」の操作で可能です。
・マクロ名「ファイルを開く用」を選択したら、「実行」ボタンを押下します。
・メッセージが表示され、OKボタンを押した後にファイルが開かれることを確認しましょう。
1.マクロを修正(マクロ名「ファイルを開く用」を修正します)
・「Visual Basic Editor」ボタン選択します。
選択の仕方は「Visual Basic」ツールバーから「Visual Basic Editor」ボタンを押下してもいいし、「ツール」→「マクロ」→「Visual Basic Editor」でもどちらでもいいです。
・プロジェクトウィンドウにある、「標準モジュール」または「モジュール」をダブルクリックします。
・module1というマクロ名が表示されるのでダブルクリックをすると、マクロコード画面が表示されます。
2.マクロの追加(ここではメッセージを表示させるように修正します。)
・ファイルを開くマクロの前に「msgbox "ファイルを開きます。", , "メッセージの表示" 」と入力します。
・ファイルを開くマクロの後ろに「msgbox "ファイルを開きました。", , "メッセージの表示" 」と入力します。
3.マクロを保存する
・修正したマクロを保存します。
保存方法はVisual Basic画面右上の「閉じる」ボタンを押下するか、「ファイル」→「終了してMicrosoft Excelへ戻る」を選択すると出来ます。
4.マクロの実行
・修正したマクロを実行します。
実行方法は、マクロの実行ボタンの押下、または「ツール」→「マクロ」→「マクロ」の操作で可能です。
・マクロ名「ファイルを開く用」を選択したら、「実行」ボタンを押下します。
・メッセージが表示され、OKボタンを押した後にファイルが開かれることを確認しましょう。
Posted by KurokiLine
エクセルでマクロを作ってみましょう
エクセルのマクロプログラムを見ると結構訳わかんないと思って、すごく難しく見えるかもしれません。しかし実際は難しくは無いのです。何故難しくないかという種明かしをしたいと思いますので下記を参照してみてください。
○手順
1.マクロを記述できる画面(モジュール画面)を開いておきます。ここでは一連の操作の流れをマクロプログラムとして記録してくれます。
2.エクセルの「マクロ記録機能」を使用して、例えばある会社の成績表から個人の成績表およびグラフ作成をするという操作を行い、「マクロの終了」機能で記録を終了させます。
3.モジュール画面より、機能を見やすいように、かつメンテナンスがしやすいようにマクロを分割します。
4.それぞれのマクロの中で、例えば会社の人数が10人だとしたら「for ~ next」などを書き加えて人数分が一度にできるようにセルの指定をしたり、固定で扱っていたところを変数にしてみたりしてメンテナンスを加えて使いやすいように書き換える。
5.マクロをそれぞれ実行してみる。
というのが、マクロの簡単な作成手順になります。マクロの記録を使って記録だけをしてもいいし、更にそのプログラムに手を加えてオリジナルにしてもいいし、使い勝手はさまざまです。
色々使ってくると使い勝手は無限に広がってきますので、色々と勉強しながらでもマクロを使いこなせるよう習得してみましょう。そうするとよりよいエクセルのマクロ生活が送れるはずです。
○手順
1.マクロを記述できる画面(モジュール画面)を開いておきます。ここでは一連の操作の流れをマクロプログラムとして記録してくれます。
2.エクセルの「マクロ記録機能」を使用して、例えばある会社の成績表から個人の成績表およびグラフ作成をするという操作を行い、「マクロの終了」機能で記録を終了させます。
3.モジュール画面より、機能を見やすいように、かつメンテナンスがしやすいようにマクロを分割します。
4.それぞれのマクロの中で、例えば会社の人数が10人だとしたら「for ~ next」などを書き加えて人数分が一度にできるようにセルの指定をしたり、固定で扱っていたところを変数にしてみたりしてメンテナンスを加えて使いやすいように書き換える。
5.マクロをそれぞれ実行してみる。
というのが、マクロの簡単な作成手順になります。マクロの記録を使って記録だけをしてもいいし、更にそのプログラムに手を加えてオリジナルにしてもいいし、使い勝手はさまざまです。
色々使ってくると使い勝手は無限に広がってきますので、色々と勉強しながらでもマクロを使いこなせるよう習得してみましょう。そうするとよりよいエクセルのマクロ生活が送れるはずです。
Posted by KurokiLine
エクセルのマクロの使い方(Trim編)
エクセルでデータをソートして使おうと思ったのですが、文字列の先頭やいたるところに空白が入っていて正しくソートできません。正しくソートするためにTrimを使おうかと思ったのですが、使い方がよくわからなくてどうしたらいいか分からなくなってしまいました。
というような疑問をお持ちの方とかいると思います。ここでエクセルのマクロを使って空白セルを削除するプログラムを作ってみたいと思います。使う命令は「Trim」です。Trimは文字列中にある空白を取り除いた文字列を返してくれる関数です。
ここでちょっとしたエクセルの豆知識です。
エクセル上に文字列がたくさん記入されているとして、セルを選択したいときに使うキー操作ですが、「Ctrlキー」+マウスでセルを飛び飛びに選択することが出来ます。
また「Shiftキー」+「Ctrlキー」+矢印キーで、連続するエリアを選択することが出来ます。用途に合わせて使用してみてくださいね。
では、話を戻しまして、文字列中の空白除去のマクロプログラムです。
Sub 空白除去プログラム()
Dim abc As Range 'セルを定義
For Each abc In Selection
abc = Trim(abc) '左右の空白を削除して、「abc」を置き換える
Next
End Sub
ね。こんなに簡単にTrimのプログラムが出来てしまいました。これを使って空白除去してみてください。
ちなみにですが、Trim関数には以下の種類がありますので、用途に応じて使用してください。
・Trim(abc) → 文字列の左右にある空白を削除します。
・RTrim(abc) → 文字列の右側にある空白を削除します。
・LTrim(abc) → 文字列の左側にある空白を削除します。
・Application.Trim(abc)→文字列の左右、または途中にある空白を削除します。
以上、Trimに関して分かりましたでしょうか?色々使ってみてくださいね。
というような疑問をお持ちの方とかいると思います。ここでエクセルのマクロを使って空白セルを削除するプログラムを作ってみたいと思います。使う命令は「Trim」です。Trimは文字列中にある空白を取り除いた文字列を返してくれる関数です。
ここでちょっとしたエクセルの豆知識です。
エクセル上に文字列がたくさん記入されているとして、セルを選択したいときに使うキー操作ですが、「Ctrlキー」+マウスでセルを飛び飛びに選択することが出来ます。
また「Shiftキー」+「Ctrlキー」+矢印キーで、連続するエリアを選択することが出来ます。用途に合わせて使用してみてくださいね。
では、話を戻しまして、文字列中の空白除去のマクロプログラムです。
Sub 空白除去プログラム()
Dim abc As Range 'セルを定義
For Each abc In Selection
abc = Trim(abc) '左右の空白を削除して、「abc」を置き換える
Next
End Sub
ね。こんなに簡単にTrimのプログラムが出来てしまいました。これを使って空白除去してみてください。
ちなみにですが、Trim関数には以下の種類がありますので、用途に応じて使用してください。
・Trim(abc) → 文字列の左右にある空白を削除します。
・RTrim(abc) → 文字列の右側にある空白を削除します。
・LTrim(abc) → 文字列の左側にある空白を削除します。
・Application.Trim(abc)→文字列の左右、または途中にある空白を削除します。
以上、Trimに関して分かりましたでしょうか?色々使ってみてくださいね。
Posted by KurokiLine
エクセルのマクロって何だろう?
エクセル初心者の方はよく思う疑問かもしれませんがエクセルにはマクロがあるというのは知っているけれども、エクセルマクロってどういうものなのか知っていますか?簡単に言うと面倒な処理を自動化して簡単に処理してしまおう!という便利な道具の事を指しています。
エクセルを業務やプライベートで使っている人ほど、「面倒だなぁ~」「同じ処理何回もしたくないなぁ~」「もっと簡単に出来ないのかなぁ」なんて思ったりしながら、仕方ないから同じ処理や面倒な処理をずっと繰り返して作業していることになりますよね。
そんな方にはエクセルマクロを使って作業すると簡単に処理を終わらせることが出来ると思いますよ。
と言っても何のことか分かりませんよね?
以下にちょっと例を挙げてみますので参考にしてみてください。
例えばですが、セルの中に英数字混在している数字と、混在していない数字があるとします。
「a100 b200 c300 400 d500 ........」というような感じで1000個位並んでいるとします。これの英字を全て取り除いて数字だけにしたいという場合、手で1000個全て英字を削除していってもいいのですが、時間がかかる上に、何回もこの処理をやらなきゃならないとなると面倒ですよね。
そういった場合、マクロでこの処理を組んでしまえば簡単に出来てしまうのです。
マクロの自動記録機能を使ったり、プログラムを直接修正したりしてマクロをつくり、実行するとマクロを実行する処理をするだけで、今まで一日かかっていた仕事が一瞬で終わるようになります。
こういった便利な機能の事をエクセルマクロと呼んでいるわけです。
エクセルを業務やプライベートで使っている人ほど、「面倒だなぁ~」「同じ処理何回もしたくないなぁ~」「もっと簡単に出来ないのかなぁ」なんて思ったりしながら、仕方ないから同じ処理や面倒な処理をずっと繰り返して作業していることになりますよね。
そんな方にはエクセルマクロを使って作業すると簡単に処理を終わらせることが出来ると思いますよ。
と言っても何のことか分かりませんよね?
以下にちょっと例を挙げてみますので参考にしてみてください。
例えばですが、セルの中に英数字混在している数字と、混在していない数字があるとします。
「a100 b200 c300 400 d500 ........」というような感じで1000個位並んでいるとします。これの英字を全て取り除いて数字だけにしたいという場合、手で1000個全て英字を削除していってもいいのですが、時間がかかる上に、何回もこの処理をやらなきゃならないとなると面倒ですよね。
そういった場合、マクロでこの処理を組んでしまえば簡単に出来てしまうのです。
マクロの自動記録機能を使ったり、プログラムを直接修正したりしてマクロをつくり、実行するとマクロを実行する処理をするだけで、今まで一日かかっていた仕事が一瞬で終わるようになります。
こういった便利な機能の事をエクセルマクロと呼んでいるわけです。
Posted by KurokiLine