人気ブログランキング | 話題のタグを見る

興味のある物色々。賞味期限切れで廃棄されないよう気をつけます。


by Lautan

Excel4マクロ

前回Excel2007β版のマクロで、オートシェイプ関連の物はExcel2003以前とかなり違いがあると書きました。もちろん製品版では直っている可能性もあります。
それではExcel4マクロはどうなっているでしょうか?

ExcelでVBAがマクロ言語として使用できるのはバージョン5以降です。Excelバージョン4以前は、VBAでは無く独自のマクロ言語が使われていました。
互換性維持のためExcelバージョン5以降もExcel4マクロの使用は出来るようになっています。ワークシート画面が表示されている時に、CTRLキーを押しながらf11キーを押すと、マクロ記述用のマクロシートが挿入されます。
今回、確認したところ、Excel2007β版でも上の操作は可能でした。Excel4マクロなど知らないので(苦笑)、実際に動かしては見ませんでしたが。

さて、Excel4マクロは名前定義を使えばワークシート上でも使用可能です。定番で、セルの色をカウントする時にExcel4マクロを使用するというテクニックがあります。(本来ならExcel4マクロではなくVBAでユーザー定義関数を組むのが良いです。)

Excel2003での例
Excel4マクロ_b0107691_2314364.gif

「挿入」-「名前」-「定義」で「名前」欄にgetcellと定義(定義する名前は特に決まっていません、getcellは一例です。)
「参照範囲」欄に=GET.CELL(24,A1)+NOW()*0 と入力して「OK」
Excel4マクロ_b0107691_23162922.gif

これで、任意のセルに =getcell と入力すれば、そのセルの前景色のカラーインデックス番号を返します。

Excel2007β版での例
さて「Excel2003での例」をExcel2007β版に読み込ませてみました。結果は #NAME?になってしまいました。
Excel4マクロ_b0107691_23173492.jpg


これは、大変と「名前」を再定義します。Excel2003では「挿入」-「名前」でしたが、Excel2007β版ではどこにあるのだろう?
どうやら「数式」-「名前付きセル」のようです。名前を新規に登録するのは「範囲に名前を付ける」で、修正は「名前の管理」で行います。
Excel4マクロ_b0107691_23184484.jpg

Excel4マクロ_b0107691_23194830.gif

Excel4マクロ_b0107691_2320454.gif

「名前の管理」で「編集」を選択し内容を確認して、特に修正点がないので「OK」-「閉じる」で終了させると、#NAME?は解消しましたが、セルに返ってくる値がすべて0になっています。
Excel4マクロ_b0107691_23203874.gif

これがワークシートをマクロ実行可能な形式で保存しても同じでした。
最初にも書きましたが、製品版では直っている可能性もあります。しかし、もう過去の資産としてExcel4マクロは捨て去る時期に来ているのでしょう。上に書いた定番のTIPSにも、もう引退してもらった方が良さそうです。
by Lautan | 2006-06-23 23:21 | Excel