エクセルマクロの基本 http://www.rottel.net/bajihong ja エクセルのマクロって何 http://www.rottel.net/bajihong/65096 エクセルのマクロってよく聞くけど、エクセルのマクロとはエクセルで使われるプログラムの事です。結構色々な事が出来まるよ。でもエクセルに限らずパソコンをあまり使ってない方にとっては「プログラム」というと難しく感じられますよね。ですので、ちょっと触ってみることからはじめてみてはいかがでしょうか?まずはエクセルのファイルを開いて、上の方にある「ツール」→「マクロ」→「新しいマクロの記録」を選択します。そこにある「記録開始(●)」を押下して、まずはどこでもいいのであるセルに「あいうえお」と文字を入力してみます。それが済んだら「終了(■)」を押下します。これでマクロの完成です。先ほど入力した文字を削除した後に、「ツール」→「マクロ」→「マクロ」を選択して、先ほど記録したときに指定をしたマクロ名を選択し(実行)します。そうすると先ほど削除したセルに「あいうえお」と文字が自動的に入力されます。ね。こうしてみるとマクロって簡単なんだなって思いますよね。もちろん、VBAなどを使ってガリガリプログラムを自分で組んでいく方法もありますが、やりたい事を実行してそれをマクロに記録させていく方法というのもあります。例えばですが、プログラムを使って文字のフォントサイズを変えたり色を変えたりと設定が多いとそれだけでも大変な作業になってしまいますので、自動記録機能を使って作業にコンピューターに記憶させて適当にマクロ名を付け、実行させるというのがマクロを始めるときには一番取り掛かりやすいものなのではないかと思います。 Sat, 23 Jan 2010 16:42:40 +0900 bajihong http://www.rottel.net/bajihong/65096 エクセル初心者のマクロ http://www.rottel.net/bajihong/65095 エクセルのマクロをVBを覚え始めている方にとっては、すぐ色々な問題に行き当たってしまいがちですよね。例えばですが、あるセルの内容が「A」なら「マクロA」を実行し、「B」なら「マクロB」を実行するという、セルの内容によって実行させるマクロを選択するという条件分岐を付けたい場合ですが、こういうのを初心者の方がやろうと思うと結構大変な作業になるんじゃないかと思います。セルの内容を条件にして別のマクロを実行させるというのは結構難しいので、セルの値を条件にして処理を分けるというマクロを記述してみます。具体的にマクロを記述してみるとSub test() If Range("A1").Value=A Then  ☆セルA1の値が「A」の時の処理☆ Else  If Range("A1").Value=B Then   ☆セルA1の値がBの時の処理☆  Else   ☆上記のどちらでもない時の処理~☆  End If End IfEnd Subというように記述してみてはいかがでしょうか?「A」の場合の処理と、「B」の場合の処理をそれぞれ記述し、最後に「A」「B」以外の文字が入ってきたときの場合の処理も記述していた方が、色々なバージョンに対応できると思うのでいいかと思います。まぁここまでやる前にとりあえずはメッセージを表示させて見るなど簡単な処理からはじめてみるのもいいと思います。頑張ってエクセルマクロを使いこなして、色々な処理が出来るようになるように頑張ってくださいね。 Sat, 23 Jan 2010 16:41:55 +0900 bajihong http://www.rottel.net/bajihong/65095 エクセルのマクロの謎 http://www.rottel.net/bajihong/64218 エクセルにあるマクロを、「新しいマクロの記録」で作業を行った後、マクロを削除しました。ですが、次にファイルを開いたときに「開こうとしたファイルにはマクロが設定されています」というメッセージが表示されてしまいます。マクロを削除したはずなのにおかしい話ですよね。。。これを表示させないためには、以下のようにしてみてください。1.ファイルを開きます。2.「ツール」→「マクロ」→「Visual Basic Editor」と選択し、VBAエディタを開きます。(このとき、「ALT」+「F11」でも同様にVBAエディターが開きます。3.ここで画面左側にある「標準モジュール」をクリックします。そうするとマクロ名「Modulu1」が表示されます。この標準モジュールがマクロの本体ですので、これを削除しないと最初に表示されるメッセージのダイアログは消せないと思います。4.マクロ名を右クリックし、「Module1の解放」を実行します。 標準モジュールの左側に「+」というのがあるので、それをクリックする事で表運モジュールが展開されますので、そこで右クリックをしてくださいね。5.このとき、「エクスポートしますか?」とメッセージが表示されます。保存をする必要なここではないので、「いいえ」を選択します。これでメッセージは次回から表示されないはずです。参考になりましたでしょうか?一応メッセージは表示されないはずですので実行してみてくださいね。 Mon, 11 Jan 2010 22:50:14 +0900 bajihong http://www.rottel.net/bajihong/64218 マクロをアドイン http://www.rottel.net/bajihong/63681 「Visual Basic」ツールバー→「マクロの記録」を選択し、ダイアログボックスを表示させます。「マクロの保存先」というのを「個人用マクロブック」を選択し、マクロを記録させます。記録されたマクロは「WindowsApplication DataMicrosoftExcelXlstart」のフォルダ内に「Personal.xls」という名前で保存されています。次回にエクセルを起動すると、保存の影響がでるなどしてしまいます。保存先を個人用の「Personal.xls」ではなく、「作業中のブック」にします。「作業中のブック」にマクロを保存し終わったら、「ツール」→「ユーザ設定」を選択しダイアログボックスを表示させます。ダイアログボックスで「コントロール」タブを選択します。左側にある「分類」でマクロを選択すると、右側にスマイルマークのボタンが表示されます。そのボタンをツールバーにドラッグ&ドロップしてください。「選択したボタンの編集」というところが有効になりますのでマクロの登録で先ほど記録したマクロを選択します。適当なところにそのブックを保存してください。マクロを実行するときはエクセルを再起動し、ツールバーに表示されているスマイルマークのボタンを押下してください。 Mon, 4 Jan 2010 20:04:58 +0900 bajihong http://www.rottel.net/bajihong/63681 エクセルマクロのデータ移動 http://www.rottel.net/bajihong/63299 エクセルのファイルとファイルでデータを移動させるマクロを組みたい場合、メニューの「ツール」→「マクロ」→「Visual Basic Editor」を選択します。または「ALT」+「F11」を選択しても同じVBE画面を開きます。VBE画面にある「プロジェクト」というタイトルウィンドウというエクスプローラのようなところにある「標準モジュール」→「Module1」というマクロ名のところをダブルクリックします。そうすると、Module1の内容が表示されます。これにマクロのコードが記述されています。コードの中に、ファイルの移動先のパスが記述されているところがありますので、新しいパス名に変更するだけでパソコンが違っても、ドライブが違ってもデータの移動が出来るかと思います。頻繁にファイルの移動をするのであればもっとマクロ自体に工夫が必要かと思うのですが、そうじゃないのならとりあえずはこれだけで今あるマクロを生かせると思います。高度な事をやり通すのならVBEの勉強をするのが先決なのではないかと思います。まだまだマクロとVBEに関しては勉強する事があると思います。 Tue, 29 Dec 2009 11:19:01 +0900 bajihong http://www.rottel.net/bajihong/63299