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

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

解決済みの質問

難し過ぎるエクセルVBAを何故簡単にできないのか?

 エクセルを始めて2年位になりますが、ようやく簡単なマクロを作ったりできるようになりました。
 もっと便利な自動化手順をマスターするにはVBAを勉強する必要があります。
 少しばかり参考書を読みましたが、英語の記述が非常に分かりにくく、大変奥の深いものと思います。
 複雑な条件(条件分岐等)処理をするにはマクロだけではできませんが、VBAはプロシージャ、コード、モジュール、ステートメント等、聞き慣れない用語が多く、あまりにもレベルが高すぎて続きそうもないなぁという気がしています。
 万人が理解でき、使いこなせる代物とは思えません。正直、これをマスターされている方はどのように勉強されたのか知りたいほどです。何も知らない素人が独学でマスターできるようには思えません。
 私の理想として何で、英語でなく日本語で記述していないのかと腹が立ちます。
 MSエクセルも都度、バージョンアップがされていますが、この辺の内容は全然、分かりやすくはなっていないと強く思います。
 何故、もっと簡単に、日本語でも操作できるようにはならないものかと怒りを覚えます。
 プログラムの構成上、無理なんでしょうか?難しいプロシージャやコード名を覚えなくても、単純なマクロのように操作を記録し、その操作を忠実に実行再現できるようになっておればどんなに『便利なのになぁ』と思います。これで誰でも使えるとマイクロソフトは思っているのでしょうか?
 私としては英語記述を入力しなくても、日本語の操作目次があって、この操作したら日本語で解説されるまた、日本語コマンドでコード入力ができるようにして欲しいのです。MSにはそんな気がないのですかね。多くの日本のエクセルユーザーそんな思いは持っていないのでしょうか? 

投稿日時 - 2005-05-02 16:30:47

QNo.1364104

すぐに回答ほしいです

質問者が選んだベストアンサー

私は、VBAを記録マクロから始めて、今2年とちょっとになります。
その前に、本格的にプログラミングを学んだ経験は一度もありません。プログラムなどはとうてい、私などには、できないと諦めてはいたものの、たまたま、困らない程度に身についたという状態です。

VBAって、まず、ベースになっているのは、英語で、英語そのもののような気がします。それも、Microsoft社の独特の言い回しのような感じですね。だからといって、英語ネイティブの人も、できる人はずば抜けていますが、一般的には、日本人と変わらないか、それよりも劣る人も多いようです。しかし、VBAは、世界で2バイト文字を扱う部分は除いて、ほとんど共通ですからね。

でも、やはり、VBAもプログラム言語の1つであり、別の世界の体系化された言語だということです。英語のネイティブに日本語で話しかけて、誰にでも通じるわけではないと同じように、やはり、意思を伝えるために、それなりに、そちらの単語や文法を覚えなくてはならないわけで、それをマスターすることは、誰にでも出来ることではない、ということは認識しなければならないのでは?と思います。

それと、VBAは、Excelや他のアプリケーションの一般操作とは、まったく別の、一般操作とは共有する部分があっても、違った種類のプログラム/ソフトウェアだと思って、まったく別の気持ちで対処しなければならない、と思います。

今、きちんとして体系化された学習参考書も、また少ないように感じます。その点で、先を急ぐあまりに、Excel VBAのサンプル・コード集をまる写して、それで凌いでいたり、自分のされたいことを優先して、基礎的なことをおろそかにしたりしている方を見受けます。やっぱり、きちんとした学習書で、順序よく「コツコツと」ではないでしょうか?

投稿日時 - 2005-05-02 17:55:08

お礼

ご返答有難うございました。Wendyさんの言われるように、
 >先を急ぐあまりに、Excel VBAのサンプル・コード集をまる写して、それで凌いでいたり、自分のされたいことを優先して、基礎的なことをおろそかにしたりしている方も多いそうですが、
 中々、理解できないから、そういう一時しのぎになるのではないでしょうか?基本はともかく、仕事その他で一刻も早く処理できるようにしたい、時間がないのでとにかく形だけは作る必要がある、だから即使える手立て、手法を見つけるとしたらサンプルコードのコピーに走らざるを得ないのではないでしょうか?

 いくらMSが立派なソフトを提供しても、万人が受け入れられる、皆が使えるものでないと意味がないと思うのですが。

 使いたいけど難しくてどうにもならない、覚えたり努力しなければならないことは分かっている、でも各々レベル、スキルが違うと思うのです。

 やる気のある人はそれでも覚えようとするでしょう。でも私のように年を取ってから始めた者には、荷が重過ぎます。他にもすることはあります。それを勉強するための時間的な余裕がない、根気が続かないから
 たとえ、基本ができていなくても、ある程度入っていけるように難易度を下げる、簡素化する、日本語でも表記入力できる、解説がある、ヘルプを見なくてもある程度やって行ける様にしてもらいたいと言うのが私のMSへの希望なんです。

投稿日時 - 2005-05-02 21:07:20

ANo.4

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

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

回答(8)

ANo.8

お怒りごもっともだと思います。私もVBAは遅々として進みません。覚えたと思ったら少し使わないとすぐ忘れてしまいます。
ただ、こういったことはエクセルを問わず世の中の多くのことに当てはまらないでしょうか。「高機能のものを簡単に操作」ということにはある程度の限界があるのでしょう。

例えば、携帯電話の全機能を私は使いこなせてませんし、マスターしようとも思いません。きっと思いがけず便利な機能があるはずですが・・・。
PCにしても、アプリは使うが、自分でプログラムをマスターしようとまでは思いません。きっと素晴らしい可能性を知らずにいるのでしょうが、そこまで時間をかける気にもなりません。

精神論ですが、「便利な機能」というのは、努力してマスターした人へのボーナスだと考えてます。やればやっただけその人が得をする、という感じの。

もちろん、簡単に操作できるための工夫と努力はメーカーに続けてもらいたいし、それができたところはユーザーから支持される強みになるのは言うまでもありませんが。

投稿日時 - 2005-05-03 13:29:32

お礼

ご返答有難うございます。
今日、二軒の本屋に立ち寄り、VBAの参考書を見ていましたが、どれを見ても英語の記述が延々と書かれていました。
 買おうかなぁ?と思いましたが、買いませんでした。立ち読みしていたら段々、腹が立ってきて『無理だ』という気がしました。
 難しいコードの種類、ステートメントやモジュール、プロシージャを覚えたら素晴らしいなあと考えましたが、私はプログラマーやパソコンを専門にしている仕事をしていないので、あえて、時間を掛けて覚えて、それが今の自分の仕事にどう生かせるのか?
 確かに吸収すれば能力アップに違いないのですが、時間がない、根気が持たないので断念しました。

 『簡単なマクロを作ればいい』『無理してストレスを溜めるのなら止めようと』あくまでパソコンは仕事の補助なので『そこまで深く入り込んでどうなる?』と踏ん切りがつきました。
 再度、必要になるのなら考えようと思います。もっとソフトの側で簡単にできるような方法に改善されるまで、待とうと思います。
 1969gensukeさんも頑張って下さい。私は諦めます。無理です。

投稿日時 - 2005-05-03 21:16:52

ANo.7

私も独学ですが、マスターできる(?それなりに使える様にはなった)ようになりました。
英語と言われますけど、いわゆる言語のしての英語というより、プログラムにおけるそれは、単に記号としてのそれなので、日本語でも英語でもたいして変わりはないと思います。単に置き換えればいいだけです。
要は慣れの問題だと思います。日本語の中にも英語そのままの単語が使われているように、使っているウチになれてしまうものだと思います。

>日本語コマンドでコード入力ができるようにして欲しいのです。MSにはそんな気がないのですかね。
日本語としての意味の通りの悪さを別にすれば、それほど難しいことではないと思うので、本当にユーザーからの強い要望があれば、MSもそうすると思いますが、私見になるかもしれませんが、多くのプログラマにとってコード入力を日本語したいとは思わないようです。(多分めんどくさい(割に対して可読性はあがらない)というのが理由)
昔、C言語でプリプロセッサを利用して、日本語でコードが記述できるような試みも一部の人達の間でありましたが結局流布しませんでした。そういうことからも、そういうニーズは少ないと思われます。

投稿日時 - 2005-05-02 19:35:22

ANo.6

全然自慢ではないですが、VBAは解説書だけたくさん持っています。いずれも数ページまでしか読んでいないような状態です(^^;
まあ、むかしBASICはかじっていたので、多少がんばれば出来るという中途半端な自信がわるいのか…。いつも根性無く諦めています。

問題は、何語だろうが、どんなに難しかろうが、必要が有れば覚えるのだと思いますね。(私の場合は、無くても何とかなっている)

そういえば、日本語のプログラム言語もありますが、簡単に見えますが実際は…。

参考URL:http://kujirahand.com/himawari/

投稿日時 - 2005-05-02 18:27:50

ANo.5

日本語プログラミングという観点から書きます。
Googleで「日本語プログラム言語」とかで検索すると「なでしこ」とか「ひまわり」とかがでてきます。参照URLは「なでしこ」のコマンド一覧で、後の方にずらずらと日本語コマンドがならんでいます。
まあ、こんなことやってる人も世の中にはいるんですねぇ。

ところで、エクセルのVBAですが、関数名や変数名には日本語使えますけどやってますか?関数に日本語を使うと結構わかりやすくなりますよ。

参考URL:http://nadesi.com/doc/cmd/list.htm

投稿日時 - 2005-05-02 18:17:16

ANo.3

VBAを触り始めて2年強。(実務では1年半になります。)

プログラムの基本が出来ていれば、あとはパズルの組み合わせになるので、目的に応じた関数やプロパティを使って組んでいけば、大抵のことは出来ます。

英語は「難しい」と思うからいけないと思います。
ハッキリ言って私の英語能力は中学生以下レベルですが、プログラムを組んだり読んだりするのに不自由だと思ったことはありませんよ。

>この操作したら日本語で解説されるまた

コードにカーソルを置いて、F1キーでヘルプが表示されます。
適当なステートメントを選んで試して見てください。

また、ネットには初心者向けの解説も沢山あるので、検索して見てください。

投稿日時 - 2005-05-02 17:24:46

補足

ご返答有難うございます。
私はジグゾーパズルをしていて嫌になり、『何で裏にピースの貼り付け位置番号が記載されていないのか?』と疑問を持つ者です。
 パズルを組んで行く過程、『どうすれば綺麗に早く組めるか?』と言う風には考えません。
 パズルは壁に飾るもの、仕上げればよいのだから、それまでの過程、どう考えるか?組み合わせを変えるとか、そういうのは重視していません。
 飾るものは簡単に組めた方が良い、考えるを楽しむものですが、だから貼り付け番号を表示して欲しい、くめればそれで良し、ややこしいのが大嫌いなんです。
 根気がないのかも知れません。またヘルプにしてもこちらの思う通りの答えが返って来ない、違う答えばかりだ、抽象的な回答で意味が理解できないケースがあります。それなら電話で直接聞いたほうが早い、と考えます。
 エクセルも結構な価格で販売しているのだから、もっとその辺を改善してくれと言う思いで一杯です。
 早くできるようにしたい→地道にコツコツ積み上げて勉強している時間がない→思うように進まない→嫌になる→挫折する、これの繰り返しです。
 誰でも抵抗なく、入っていけるようにソフトが改善されるのを待つしかないようです。
 マイクロソフトにはもっと『見える化』『単純明瞭化』を望みたいです。
 思うように行かないので腹が立ちますが、これが現実です。回答いただき、有難うございました。
 

投稿日時 - 2005-05-02 17:53:45

確かにVBAは初心者の方にはとっつきにくい部分があります。
私は、Excelに関してはほとんどVBAを使ったことはないのですが、Accessを使う際に基本部分はマスターしました。
もちろんまったくの素人の状態からヘルプと格闘しながら少しずつ覚えていきました。
私も英語ではなく日本語で記述できれば簡単なのにと思う時もありましたが、実際はどちらでも大して変わらないのではないかと思います。
例えば、関数が日本語だったらExcelはもっと使いやすくなると思いますか?
最初のとっつきやすさは日本語のほうが上かもしれませんが、覚えてしまえばどちらでも一緒です。
とにかくマスターしたければコツコツ努力するしかないと思います。
幸いExcelの場合は、マクロの記録機能がありますので記録したマクロを見ながら少しずつ覚えていってはいかがでしょうか?
覚えるコツはヒマがあればヘルプを見ることです!
ちなみに、プログラミング言語を日本語などの英語以外の言語にした場合、アプリケーションの安定性を保つのが困難になると思いますよ。Windowsも英語版より日本語版のほうが不安定だと聞いたことがあります。

投稿日時 - 2005-05-02 17:11:26

お礼

 ご回答有難うございます。VBAは本当に分かりにくい内容でイライラします。
 VBA他にも関数も英語表記となっていますが、私は日本語表記を歓迎します。
 SUM:合計関数、VLOOKUP:列検索関数、AVG:平均関数、IF:仮定条件関数とうこんな風になっていた方が分かり易いと思います。
 VBAのコードもこのようにして欲しいのが希望です。英語は嫌いではありませんが、日本語方が断然分かり易いと思います。
 ある一定のレベルの人を対象にした内容に思えて初心者が戸惑うのもこの英語表記に原因があると思います。何でMSはこれに気が付いてくれないのだろう?知っていながら避けているのか?安定性が崩れるのが怖いのか?とさえ思います。
 ヘルプもこちらのやりたいことが、検索できない、知りたいのはそれではない、これが聞きたいんだということがたくさんあります。でも上手く行きません。

投稿日時 - 2005-05-02 18:30:11

ANo.1

 こんちには。
私もExcelを始めて5年近くなります、VBAも最近始めたのですが特に日本語であって欲しいと思ったことはありません。新しいことを覚えるのは、RPG(ゲーム)で魔法を覚える感覚に似ています。ですので、VBAの厚さ10cm近くある参考書を見ていても特に苦ではないですね。楽しく覚える!!のが一番かと思います。
 まったく参考にならないと思いますが…。

投稿日時 - 2005-05-02 16:54:53

補足

私はRPGゲームは苦手な方で一切、していません。チマチマしたゲームは大嫌いです。白黒はっきりしてるゲームの方がいいですね。ステージクリア型のアクションゲームとか。
 時間の長引くヤツは嫌なんです。
分かりやすいのが一番です。

投稿日時 - 2005-05-02 17:06:17

あなたにオススメの質問