みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

マクロやVBEが動作しない

XP Pro SP3 / Excel97で、はじめてマクロやVisual Basic Editorを学ぶことになりました。ところが、「新しいマクロの記録」を選択すると「記録できません」というアラートが出たり、Visual Basic Editorを起動しようとすると起動しかけた段階で終了してしまいます。機能制限がかかっていたり、別途インストールする必要があるのでしょうか。

投稿日時 - 2014-03-06 10:59:14

QNo.8502187

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

こんにちは。

レスがついた後で、なんとなくすっきりしないと感じです。

私の回答の仕方が悪かったような気がします。もしExcel97が、支障なく動いているのなら、後は、基本的には、個人用マクロの生成自体をしないで、ブックにプロジェクトを生成すればよいのです。本来、旧バージョンの場合は、何も知らないままに個人用マクロを作って、そこを利用するので、トラブル発生ということがあります。理由は、2つの個人用マクロのファイルが出来ているという現象があります。その時は、片方のProgram Filesの中の、Microsoftフォルダーの中を探して削除すればよいはずです。こちら側は、XPで使わないからです。

他にも、「記録できません」というエラーには、「記録マクロ」を作る時に、同じプロジェクトの中で、マクロ(プロシージャ)名が、同じ名称(例:Macro1)で作ろうとしてしまうのが原因です。ふつうは、「作業中のブック」に明示的(自分自身が確認して、という意味)に作れば、そのような問題は発生しません。

それは、試してみたのでしょうか?

>はじめてマクロやVisual Basic Editorを学ぶことになりました。
そもそも、Excel97をお使いなのでしょうか?
それとも、プログラミング言語を学ぶということでしょうか?
OSのXPのサポートが切れるからというものと、Excel2000以降のVBAと違う部分は目をつぶることににして、基本的な学習自体に問題ないと思います。

>まったく別の方法で解決する方向で考えます。
とは、まさか、MSのVS2012 Expressのフリーウェアを利用するということでしょうか?
VBAとはかなり違いますが、何もないよりはマシだと思います。
もちろん、VSの中の、VB.netにしろ、VBScriptにしても、思ったよりは敷居が高いし、OpenOffice.orgの中のBasic言語は、私自身やってみましたが、オブジェクト自体が違いますので、VBAとはまったく違うものです。VB系の学習用のプログラミング言語(MS Small Basic)もありますが、XPでは、重すぎて、どれほどのものかは真価を知りません。VB系を離れて、Perlなどの言語になれば、また別の観点になります。

また、誰かに教わるにしても、本を通して学ぶにしても、VBAにしても、他の言語にしても、お金の掛かる話です。新しいExcelを購入するにしろ、入門用のプログラミング言語を購入するにしても、その言語の学習代(書籍を含む)は、言語やソフトウェアよりも高く付くことが多いので、その点は、考慮しないといけません。もちろん、プロ用の言語は、10万円も超えるとなれば、とても一般人では手は出せません。

余計なおせっかいかと思いましたが、気になったことへの回答を付けておきます。

投稿日時 - 2014-03-07 09:49:01

お礼

再度、ご丁寧なご回答をいただき、ありがとうございます。マクロの生成についての問題は、いただいたアドバイスをよく読んで、解決できるかを試してみたいと思います。職場の環境でExcel97を使用しています。簡単な関数などは使っています。しかし、職場の都合上、簡単にバージョンを変えることができないのです。プログラミング言語については、ウェブ系(Perl、PHP、JavaScript、etc)については、ある程度習得しています。まったく別の方法とは、パソコンの環境では解決の見込みがなさそうなので、業務の行い方レベルで(パソコンを使った業務の行い方ではない方法)考え直そうと思いました。しかし今後は、MS系の言語も機会をつくって学びたいと思います。言葉足らずの質問に丁寧にご回答いただき、ありがとうございました。

投稿日時 - 2014-03-07 11:25:02

ANo.1

こんにちは。

Win XPで、Excel97がまともに動いたかどうかは、はっきり記憶していません。

>はじめてマクロやVisual Basic Editorを学ぶことになりました。
せめて、Excel 2000を、どこかで中古でよいので手に入れてください。
Excel 97のパッチ当てすら、もはやないと思います。確か、Office97のパッチは、Phonetic関連で大幅に変わったような気がします。

Excel 97 のVBAは、基本的なVBA関数が足りません。そこで、自作の[ユーザー定義関数]を作らないといけないのですが、今手に入る教本から、Excel 97用に書き換えるには、VBAの経験が1~2年レベルでも、かなり難しいです。97用の独特のコードの書き方もありますが、こうした掲示板でも、今どきは、誰も教えようとは思わないはずです。

>「新しいマクロの記録」を選択すると「記録できません」というアラートが出たり
おそらく、標準で作られる、「個人用マクロブック」の位置などが間違ったところにあるからだと思いますが、Office 97 は、そういう点で考慮されていないからです。OSは、Win 95の時代のものだからです。よくあるトラブルとして、「個人用マクロブック」が、ダブルで作られてしまう現象などがあります。

もちろん、本来、VBAを習得する段階で、「個人用マクロブック」を作る必要性などはないのですが、つい、初心者の方は、作ってしまうのです。

投稿日時 - 2014-03-06 12:36:19

お礼

早速、ご回答をいただき、ありがとうございます。ご親切に丁寧にお答えいただき、ありがとうございます。そもそも、あとわずかでXPのサポート自体が終了になる訳ですし、やはり、無理のある環境のようですね。学ぶことが必要になった問題は、まったく別の方法で解決する方向で考えます。ありがとうございました。

投稿日時 - 2014-03-06 13:21:09

あなたにオススメの質問