
会社のExcelファイルで、拡張子が「xlm」のファイルがありました。Excel4.0というずいぶん古いバージョンのマクロのようですが、
(1)昔はこういうExcel4.0の「xlm」ファイルって、結構使われていたのでしょうか?
(2)これのマクロはExcelのシートのセルにだけ書き込まれるものなのでしょうか?というのも、VBE画面でソースコードを見ようにも、VBAモジュールが全くなく、ソースコードらしきものはExcelのシートのセルにしか書かれていないからです。Excel4.0マクロって、VBEにソースコードを書き込むんじゃなく、Excelのシートのセルに命令を全て書いて動かすものなんでしょうか?
No.2ベストアンサー
- 回答日時:
こんにちは。
>(1)昔はこういうExcel4.0の「xlm」ファイルって、結構使われていたのでしょうか?
それほど多くないと思います。それは、ほんの短い期間で、Ver.5に以降した時には、Visual BasicのVBAが搭載されました。Ver.4マクロ関数は、構造化がしにくいので、単発のマクロになってしまいます。
>(2)これのマクロはExcelのシートのセルにだけ書き込まれるものなのでしょうか?
今でも、使えます。VBAのような言語とは違い、関数型のマクロ言語です。
「マクロ関数」と呼ばれていて、今まで、Ver.4マクロは、駆逐するという話でしたが、Office 2007からは、なくてはならないものになってしまいました。しかし、マイクロソフト側では、その仕様を公にする様子がありません。(私は、ブランクがあるので、もしかしたら、しているかもしれません。)
>Excel4.0マクロって、VBEにソースコードを書き込むんじゃなく、
VBAでも、Excel 2007以上では、このようにして、マクロ関数を使ってリボンを隠します。
Application.ExecuteExcel4Macro ("SHOW.TOOLBARS(""RIBBON"",FALSE)")
また、印刷系やグラフ系には、未だ、Ver.4マクロ関数が利用されます。
>Excelのシートのセルに命令を全て書いて動かすものなんでしょうか?
シートのセルに書くのは、その前のバージョンのようです。DOSで知られたLotus123やMS-Multiplanは、そのようなスタイルでしたが、ExcelのVer.4からは、シートの挿入で現れる「Ver.4 マクロ」の、マクロシートです。
書き方は、このような書き方をします。
[ユーザー定義関数名]
=ARGUMENT("rng",8)
=GET.CELL(48,rng)
=IF($A$4,"数式","定数")
=RETURN(A5)
[マクロ関数のヘルプ]より
GET.CELL ->48->セルに数式が含まれていれば TRUE を、定数が含まれていれば FALSE を返します
これらは、ほとんど、VBAに書き換えが可能ですが、一部で、書き換えできないものが残っています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excel ファイルを指定し、指定されたファイル内にシートを統合するVBA 8 2023/07/10 10:09
- Excel(エクセル) Excelのマクロについて 1 2023/04/17 17:22
- Excel(エクセル) VBA ふたつの同じ様式シートのセルをコピーしたい 2 2023/03/08 15:28
- XML エクセルのマクロについて教えてください。 3 2023/02/06 09:06
- Excel(エクセル) Excelのマクロについてご教授ください 2 2023/02/25 09:43
- Excel(エクセル) マクロVBA別Excelブックにデータ転記 2 2022/07/10 23:35
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2022/08/04 13:56
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/02/07 09:58
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/06/04 09:39
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルのdatedif関数を使って...
-
特定のセルだけ結果がおかしい...
-
9月17日でサービス終了らし...
-
【マクロ】【配列】3つのシー...
-
エクセルのVBAで集計をしたい
-
vba テキストボックスとリフト...
-
エクセル ドロップダウンリスト...
-
【マクロ】列を折りたたみ非表...
-
【関数】同じ関数なのに、エラ...
-
ページが変なふうに切れる
-
【マクロ】アクティブセルの時...
-
【条件付き書式】シートの中で...
-
【マクロ】オートフィルターの...
-
Office2021のエクセルで米国株...
-
【マクロ】3行に上から下に並...
-
【マクロ】EXCELで読込したCSV...
-
エクセルの循環参照、?
-
【マクロ】A列にある、日付(本...
-
Excelファイルを開くと私だけVA...
-
【エクセル】期限アラートについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
9月17日でサービス終了らし...
-
エクセル
-
【マクロ】WEBシステムから保存...
-
エクセルの循環参照、?
-
エクセル ドロップダウンリスト...
-
エクセルのdatedif関数を使って...
-
特定のセルだけ結果がおかしい...
-
【マクロ】A列にある、日付(本...
-
【マクロ】EXCELで読込したCSV...
-
【マクロ】アクティブセルの時...
-
【エクセル】期限アラートについて
-
iPhoneのExcelアプリで、別のシ...
-
【関数】同じ関数なのに、エラ...
-
Excelの新しい空白のブックを開...
-
【マクロ】3行に上から下に並...
-
【マクロ】宣言は、何のために...
-
VBA チェックボックスをオーバ...
-
Excelについての質問です 並べ...
-
【マクロ】アクティブセルの2...
-
【関数】不規則な文章から●●-●●...
おすすめ情報