• ベストアンサー

マクロの記入法について

エクセルでマクロを使おうと本を買って勉強中です。 本の内容を転記する時疑問に思ったことがあります。 単語と単語あるいは記号との間を半角空ける場合と開けない場合があります。あける場合と開けない場合には、なにか決まりがあるのでしょうか。本を見ていると半角空いているのかくっついているのかわかりずらい場合があります。 =の前後で半角空いているものがあれば、空いていないものもあります。 教えてください。

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

  • ベストアンサー
  • FEX2053
  • ベストアンサー率37% (7991/21371)
回答No.2

VBAは「フリーフォーマット」と言い、文言中の「空白」は無視して 動作します。ですので、空白は「特定の命令(FORなどの引数とか)を 除いて、入れても入れなくてもいい」んです。 これを逆手にとって、通常は「Doなどのループ範囲を後ろにずらす」 「命令語などの位置を揃える」なんてことをします。通常はそういう 「空白の入れ方」は、発注元や開発会社の仕様書で細かく決まって いるんですけどね。個人のプログラムなら「勝手に入れていい」です。 なお、VBEを使ってプログラムを書くと、空白は「勝手に入って来る」 ことがあります。これは仕様ですので、入った空白を削ることは出来 ません。

kotetukun
質問者

お礼

見本通りに間違わないようにすることですね ありがとうございました。

その他の回答 (2)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

こんにちは。 基本的なコーディングルールというは、VBAの場合は、あまり出てこないのかもしれません。最初は、あまり気にすることはないと思います。 演算子の前後には、半角スペースを空けるというのが原則ですが、自動的には入ります。 VBAは、VBEditor 自身が教えてくれます。 以下の場合に、文字結合の & だけが自動的に入らずスペースをユーザーが入れることになっていると思います。  = + * - / & : ; , 以下の「型宣言文字」は、他の識別子や数値とくっつけて使うために、そうでないものに、空白を入れないと問題が発生するのだと思います。ただし、リテラル値以外には、ほとんどは付けませんが。  & ! # % $ @ VBAプロの武藤玄氏が、VBAの記法について書いています。 http://home.att.ne.jp/zeta/gen/excel/c04p15.htm ポイントはついていますが、私の知っているコーディングルールとは、かなり違うというか、古いルールのようです。私の知っている範疇では、現在のプロのルールからは逸脱するようなものもあるように思います。 初心者や個人で書くにはどうでもよいことですが、不必要なことは書くなっていうことと、少なくとも自分にとって読みやすくするっていうことです。 過去の同様の質問の、自分の評価を見直してみました。残念なことに、私のこの手の話は、ほとんど、質問者さんには受け入れられていないようです。だから、細かいことは割愛することにしました。 VBAに関しては、こういうコーディングルールなどの基本中の基本ですが、仮に、ここでステータスを専門家と称したところで、自分自身の書いたコードで決まるものです。ただ、ここは初心者の書く掲示板ですから、専門的なことを書いても仕方がありませんが、その人の主張は、書かれたコードで、力量は分かってしまいます。だから、ある程度のレベル以上の人しか、本当のことは分からないものなのは、残念なことですが……。

kotetukun
質問者

お礼

ど素人の私には専門的なことは分からないので、転記の時は間違わないようにするのが第一のようです。

  • tadagenji
  • ベストアンサー率23% (508/2193)
回答No.1

コマンド間は . ドットで区切るか半角スペースを入れないと認識しませんが、文法的におかしければ入力後に文法チェックがされてsyntax err がでるので気にするほどではありません。 参考本などは、見やすいようにスペースを入れている場合がほとんどです。

kotetukun
質問者

お礼

素人判断ではダメなようですね。ありがとうございました。

関連するQ&A