The Road to EXCELER ~エクセラーへの道~ -108ページ目

The Road to EXCELER ~エクセラーへの道~

エクセルの機能を基本から紹介していきます。お仕事で日々エクセルを使っておられる方に読んでいただければ仕事の効率アップ間違い無しです。

法然院。
The Road to EXCELER ~エクセラーへの道~ 出張で京都をブラブラしてきました。
写真は「そうだ、京都行こう」の、JR東海のCMでおなじみのシーンですね。


山門をくぐると、両側に白い盛り砂「白砂壇(びゃくさだん)」があります。これは水を表わしているそうで、この間を通ることで、心身を清める意味があるそうです。


紅葉を狙っていましたが、ちょっと早すぎましたね。。微妙に色付いてはいましたが…

(^▽^;)


こちら↓は、和菓子「仙太郎」哲学の道店。

店内はカフェにもなっているので、散策に疲れたらちょっと一息。。

「仙太郎」といえば最中で有名ですが、おなかがいっぱいだったので、軽いお菓子にしときました。。

(^_^;)


哲学の道を歩けば2冊目のいいアイデアがポンポン浮かんでくるかな…と思って行ってみましたが、ヒトが多すぎてThe Road to EXCELER ~エクセラーへの道~ それどころじゃないですね。。

(x_x;)


゚・*:.。..。.:*・゚゚・*:.。..。.:*・゚ ゚・*:.。..。.:*・゚゚・*:.。..。.:*・゚

さて、マクロの「イベント」について簡単に解説します。


もっとも簡単なのが「オートオープン」です。

ファイルを開くと、自動的にマクロがスタートするイベントです。

百聞は一見に如かず…と言いますので、ちょっとやってみましょう!


(1)[開発]タブ→[マクロの記録] から、「マクロ名(M)」に「auto_open」という名前をセットして「OK」。

(2)C3セルに「こんにちは!」と入力した後、セル範囲B2:D4 を範囲選択した状態で、[開発]タブ→[記録終了]。

The Road to EXCELER ~エクセラーへの道~


これだけで、このファイルを開くと、自動的に C3セルに「こんにちは!」と入り、セル範囲B2:D4 を範囲選択した状態になります。


いったんワークシート上のデータをすべてクリアして、ファイルを保存して閉じてみてください。ファイル名は何でも結構ですが、拡張子は「.xlsm」(マクロ有効ブック)の形式で保存してください。


今、何も入力の無い状態で保存したので、このファイルを開いても何も入力が無い状態で開くはずです。

ところが、実際に開いてみると、C3セルに「こんにちは!」と入り、セル範囲B2:D4 を範囲選択した状態になりませんか?


なれば成功です!コードはこんなふう↓になっているはずです。
[開発]タブ→[マクロ]ボタンから「auto_open」を選択し、[編集(E)]として確認してみてください。


Sub auto_open()
'
' auto_open Macro
'
'
Range("C3").Select                …①
ActiveCell.FormulaR1C1 = "こんにちは!" …②
Range("B2:D4").Select              …③

End Sub


このように、何らかのアクションをきっかけとして、マクロがスタートするような設定をすることができます。

次回は、また違ったパターンでやってみましょう。

('-^*)/

浅草小柳。
The Road to EXCELER ~エクセラーへの道~ 超老舗のうなぎ屋さんです。

浅草はうなぎ屋の老舗が多い、すばらしい町ですね~。。

(‐^▽^‐)


「色川」に行ってみたらえらい並んでいた(いつも並んでますが…)ので、「小柳」へ。

風情あるお座敷↓で、「松」をまったり食して来ました。

(^-^)


炭火のいい感じな焼き加減で、期待通りのパフォーマンスを発揮してくれました。

満足満足。。

(^_^)v


今朝は遠くに富士山がくっきり見えました。

いつもより早起きで眠かったのですが、気分良く出社できました。

空気が澄んでいると気持ちいいもんですね。

:*:・( ̄∀ ̄)・:*:The Road to EXCELER ~エクセラーへの道~


゚・*:.。..。.:*・゚゚・*:.。..。.:*・゚ ゚・*:.。..。.:*・゚゚・*:.。..。.:*・゚

さて、前回までの説明で、


a = Len(ActiveCell.Value) - Len(Application.Substitute(ActiveCell.Value, Chr(10), "")) +1


Application.FormulaBarHeight = a


という2行のマクロを実行すれば、アクティブセルの状況に応じて数式バーの幅(高さ)を調整できることがわかりました。


実験してみましょう。


(1)[開発]タブ→[マクロの記録] から、「ショートカットキー(K)」に「m」をセットして「OK」。

The Road to EXCELER ~エクセラーへの道~


(2)適当なセルをクリックして、[開発]タブ→[記録終了]。

(3)[開発]タブ→[マクロ]ボタンから、「Macro1」を選択して[編集(E)]。

(4)「Range~」の部分(下図の矢印の部分)に、上記BOLDで記載したコードを上書きコピー。

The Road to EXCELER ~エクセラーへの道~

こんなふうになればOKです。


The Road to EXCELER ~エクセラーへの道~
ワークシートに戻って「Macro1」を走らせてみてください。
数式バーの高さが変わりましたか?

The Road to EXCELER ~エクセラーへの道~

ここまでで「めでたしめでたし…」なのですが、実際に使用するとなると、いちいち「Macro1」をスタートさせないと数式バーの高さが変わらないので、このままではいまいち実用的ではありませんね。。
(><;)

ちょっと応用編になってしまいますが、エクセルのマクロには「イベント」という機能があり、ファイルを開いたら勝手にマクロがスタートしたり、あるいはダブルクリックしたら勝手にマクロがスタートしたり…という設定をすることができます。

次回からはそのあたりの解説に入り、最終的には、セルをクリックしたら自動的にそのセル内の改行数をカウントして数式バーの幅(高さ)を調整するマクロにします。

お楽しみにっ!(^-^)v


喫茶かりん。
The Road to EXCELER ~エクセラーへの道~ 近くに細長い!?カフェが新しくできたので、さっそくチェックに行ってきました。

(^。^)


メニューのケーキセットを頼んだら残念ながら品切れだったのでパンにしました。。

(_ _。)


お店の人がたまたまとれたてリンゴをたくさんもらったらしく、一個おみやげにくれました。

おばちゃん、ありがとう!
ヾ( ´ー`)


さてさて、今年もあと2ヶ月。「2ヶ月しかない~~」とあきらめてしまわずに、「2ヶ月もあるゾ!」って意識でやり残したことをひとつひとつ片付けていきたいと思います。

(`・ω・´)ゞThe Road to EXCELER ~エクセラーへの道~


゚・*:.。..。.:*・゚゚・*:.。..。.:*・゚ ゚・*:.。..。.:*・゚゚・*:.。..。.:*・゚

さて、知っておかないといけない事項の続きです。


今まで、「LEN(A1)」というように、A1セルを例にとって説明してきましたが、実際にはA1セルに限らず、アクティブセルの状況に応じて数式バーの幅(高さ)を調整しなければなりません。


ですので、ここは、「LEN(A1)」ではなく、


LEN(ActiveCell.Value)


となります。(こちら もご参照。)


あとは、セル内改行を表す「CHAR(10)」は、VBAでは「A」が抜けて「CHR(10)」となります。


ここまでで、


a = Len(ActiveCell.Value) - Len(Application.Substitute(ActiveCell.Value, Chr(10), "")) +1

Application.FormulaBarHeight = a


という2行のマクロができます。

('-^*)/