|
|
|
|
|
|
|
|
|
|
EXCEL 転記マクロ |
|
|
|
2007/1/11 by KOMPas |
|
|
|
■ |
HTMLファイル otenki.htm
は、oteki.xls から EXCELで作成したものです。 |
|
|
以下の説明は、otenki.xls について書いたものです。 |
|
|
「はがき印刷」「カレンダ」のマクロを試すには、otenki.xls をお使いください。 |
|
|
|
otenki.xls |
|
|
|
■ |
次のボタンから、EXCEL転記マクロのお勉強セット(自己解凍圧縮ファイル)をダウンロードできます。 |
|
|
|
|
http://www.enissi.com/kompas/sienpi2006/otenki.exe |
|
|
■ |
マクロワールドへようこそ!あなたに期待してしまいます。 |
|
|
|
■ |
「はがき印刷」頁に、ダブルクリックで動く転記マクロを書き込んでいます。 |
|
|
|
■ |
住所録の名前をダブルクリックすると、下部はがき様式に、ダブルクリックした行のデータを転記して印刷します。 |
|
■ |
「一括印刷」ボタンをダブルクリックすると、住所録にある全員のデータを次々に転記しては印刷します。 |
|
■ |
住所録の区分をダブルクリックすると、「中止」と空白を入れ替えます。(区分欄が「中止」の時、印刷しません) |
|
|
■ |
EXERCISE-01:「はがき印刷2」 |
|
|
|
exercise01.xls |
|
|
|
■ |
「カレンダ」頁に、セルデータ変更/ダブルクリックで動く転記マクロを書き込んでいます。 |
|
|
|
■ |
年/月を変更すると、空のカレンダを作成します。 |
|
|
■ |
キーワード欄に何か指定して、「カレンダへ書込」ボタンをダブルクリックすると、 |
|
|
予定表から、カレンダ月の、該当するデータを、カレンダに書き込みます。 |
|
|
■ |
予定表に何かを書き込んで、お試しください。 |
|
|
|
■ |
なんとも、サンプルコードがいきなりバグっていたようです。訂正しています。(2007-2-4) |
=> |
|
|
■ |
EXERCISE-02:「カレンダ2」 |
|
|
|
exercise02.xls |
|
|
|
■ |
マクロ |
|
|
|
(上記動作を行っても何も動かない場合は、 |
|
|
|
☆ |
「ツール」−「マクロ」−「セキュリティ」で、レベルが「中」以下になっていない。 |
|
|
☆ |
開くときに、「マクロを有効にする」で開いていない。 |
|
|
|
☆ |
ダブルクリックを同一セル内で行っていない。 |
|
|
|
☆ |
ダブルクリックが早すぎる/遅すぎる |
|
|
|
|
のかもしれません) |
|
|
|
(「セキュリティレベルを下げて大丈夫か?」 |
|
|
|
・・・わかりません。 |
|
|
|
このEXCEL otenki.xls には12月9日時点で危なげなコードははいっていませんが、 |
|
|
僕には何も保証できません。 |
|
|
|
心配ならやらない。これが鉄則です。) |
|
|
|
|
■ |
「なぁーんだ、ただの差込印刷じゃねえか」 |
|
|
おっしゃるとおりです。印刷するしないは別にして、「転記マクロ」がおこなうことは、ただの差込印刷と同じです。 |
|
|
■ |
例題の「はがき印刷」の一覧表と様式を目的にあったものに取替え、 |
|
|
転記マクロ コードの転記元/転記先をその様式にあてはまるように手直しすれば、 |
|
|
介護保険/支援費等の行政への提出物や、事業所発行の請求書、 |
|
|
或いは給与明細書までこなせることにお気づきでしょうか。 |
|
|
|
■ |
EXCELマクロのいいところは、コピーが簡単にできるということです。 |
|
|
或いは、簡単にかきかえられるということです。 |
|
|
|
■ |
コードを覚える方法の1つは、「ちゃんと動く」コードをどこかからもってきて(コピーして)、 |
|
|
自分用に書き直す、というのがおそらく基本です。 |
|
|
そうこうしているうちに、コードを自分だけでかけるようになります(ほんとかな)。 |
|
|
この方法なら、「よおし、プログラムをおぼえるぞ」と思った初日に、 |
|
|
自分で書いたコード(ほんとは数箇所かきなおしただけでも)が、実際に動くのを体験できます。 |
|
|
|
あなたが、ちゃんとした説明書を購入して、根本から理解しないと気がすまないタイプの方ならお勧めしませんが、 |
|
こういったタイプの方の場合、将来、世界的な職業プログラマになるか、 |
|
|
そうでなければ、何もつくらないまま、あきらめてやめてしまうことが多々ありそうです。 |
|
|
|
あなたが、世界的な職業プログラマへの道を歩む気がないなら、 |
|
|
少々姑息ではありますがが、確実に1つ成果をあげられるであろう「コピーして書き換える」方法がよいと思います。 |
|
|
■ |
「はがき印刷」のシートおよびマクロをコピーして書き換え、なにか役に立つものを作ってみてください。 |
|
|
或いは「カレンダ」のシートおよびマクロをコピーして書き換え、なにか役に立つものを作ってみてください。 |
|
|
|
■ |
マクロをのぞいてみる。 |
|
|
|
■ |
EXCELメニューから、「ツール」-「マクロ」-「Visual
Basic Editor」を選択します。 |
|
|
画面左側に、「Sheet1」とか、「Thisworkbook」とかあるのが、「プロジェクト
エクスプローラ」枠です。 |
|
|
「プロジェクト エクスプローラ」が表示されていないときは、 |
|
|
EXCELメニューから、「表示」-「プロジェクト エクスプローラ」を選択します。 |
|
|
|
■ |
この otenki.xls の「はがき印刷」マクロを見るには、 |
|
|
「プロジェクト
エクスプローラ」の、Sheet2をダブルクリックすると、右側にコードが現れます。 |
|
|
|
■ |
この otenki.xls の「カレンダ」マクロを見るには、 |
|
|
「プロジェクト
エクスプローラ」の、Sheet3をダブルクリックすると、右側にコードが現れます。 |
|
|
右上欄が、「プロシージャ名」です。 |
|
|
「プロシージャ名」枠右の下向き三角▼をクリックすると、リストが表れます。 |
|
|
目的月の「空カレンダ作成」のコードは、「Cange」にあります。 |
|
|
リストから「Change」を選択すると、下のコード欄に、 |
|
|
Worksheet_Change() イベントプロシージャ コードが表示されます。 |
|
|
「カレンダへ読込」のコードは、「BeforeDoubleClick」にあります。 |
|
|
リストから「BeforeDoubleClick」を選択すると、下のコード欄に、 |
|
|
Worksheet_BeforeDoubleClick() イベントプロシージャ コードが表示されます。 |
|
|
|
■ |
「イベントプロシージャ」を記述する場所は、あらかじめEXCELに用意されていて、 |
|
|
「ダブルクリックしたとき」或いは「セルのデータを書き換えたとき」等々、「何を行うか」をコードで記述します。 |
|
|
|
|
■ |
マクロコードを自分で書いてみる。 |
|
|
|
■ |
EXERCISE-01:「はがき印刷2」 |
|
|
|
EXERCISE01:train0101 |
|
|
|
■ |
EXERCISE-02:「カレンダ2」 |
|
|
|
■ |
「カレンダ」では、若干の計算を加えた転記マクロサンプルにしています。 |
|
|
セルからセルへの転記を拡大解釈して、 |
|
|
計算をコードにやらせて、その結果をセルに「転記」します。 |
|
|
|
■ |
更に、「カレンダ2」は、いよいよ、「データベースへの転記」、「データベースからの転記」コードを実装してみます。 |
|
転記マクロより若干ハードルが高いかもしれない、「データベース入出力」関連のマクロです。 |
|
|
これを理解すれば、既存の(多くは有償の)アプリケーションのように作動するマクロを作成できます。 |
|
|
場合によっては、もっと使いやすい、カスタマイザブル(なんだ?)なシステム構築をが可能かもしれません。 |
|
|
|
■ |
「カレンダ2」サンプルは、exercise02.xlsです。 |
|
|
|
■ |
train0201で、EXCELの中だけで処理してしまう「スケジューラ」コードについて説明します。 |
|
|
|
EXERCISE02:train0201 |
|
|
|
■ |
train0202で、「予定表」データを、データベースから取り出したり、データベースに保存したり、 |
|
|
といったコードの解説を行います。 |
|
|
|
EXERCISE02:train0202 |
|
|
■ |
Utility |
|
|
|
■ |
「お勉強」サンプルではありません。「お勉強道具」の1つです。 |
|
|
Microsoft Accessをお持ちの方には必要ありません。 |
|
|
といって、このコードで「お勉強」されたい方はどうぞご自由に。 |
|
|
|
Utility |
|
|
|
utility.xls |
|
|
|
2007/1/11 今日のところはここまで |
|
|
|
■ |
転記マクロや、データベースマクロが、自分達でも作成可能であることを理解したら、 |
|
|
自分或いは同僚が自作マクロを書く手間と、購入アプリケーションを買う金額とを比較できます。 |
|
|
|
自分たちがコンピュータでやりたいことが、安価な購入ソフトで実現できるなら、 |
|
|
購入したほうが賢明な場合も多々あります。 |
|
|
(たとえば、マクロ自体も簡単ですが、「筆まめ」のような年賀状ソフトなら充分安そうです。) |
|
|
|
■ |
データベースとのやりとりコードも、それほど摩訶不思議なものではないことをわかってもらった上で、 |
|
|
データベースを使うことで、なにができるか? |
|
|
或いは、データベースをつかわないでもできることは何か? |
|
|
ついでに、コンピュータにやらせるのが難しいことは何か? |
|
|
或いは、コンピュータにやらせないほうがよいことは何か? |
|
|
・・・について、あとで少し考えてみたいと思います。 |
|
|
|
thinkabout.htm |
|
KOMPas |
|
|
|
TEL |
|
0949-29-2334 |
|
|
FAX |
|
0949-29-2332 |
|
|
携帯 |
|
090-6777-4241 |
|
|
email |
|
kompas@enissi.com (返事は期待しないでください) |
|
|
|
|
|
|
|
|
|
|
|