• ベストアンサー

マクロの記入法について

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

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

  • ベストアンサー
  • FEX2053
  • ベストアンサー率37% (7987/21355)
回答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

  • ワードのマクロについて。

    エクセルのマクロなどに関する本は非常に多く出版されておりますが、 ワードのマクロに関する本はイマイチ見かけません。 ですが、個人的にエクセルを使用するよりも ワードを使用する頻度が多いため、 この際ワードを徹底的に勉強したいと思っております。 しかも、いまさらながらワード2002(2003)のマクロを勉強中です。 普段から2002でファイルを作成することで、 それ以降のバージョンでも開けるようにしたいが為です。 さてその上で有識者の方へお伺いしたいのですが、 とりあえずの目標としては 名前と住所を一度入力するだけで、 全ての書類の必要箇所に同時に転記してくれるような機能、 そういった機能を盛り込みたいのですが、 これはワードのマクロで可能なのでしょうか? それとも、無理やりエクセルで作った方が早いのでしょうか? また、ワードの原稿用紙の縦横の文字数を変更することも、 とりあえずの目標としています。 例えば、縦30文字、横50文字で、それぞれ枠線・升目が表示される そういった事を考えております。 これもマクロで作るものなのでしょうか、 それとも通常のワードの機能だけで作成可能なのでしょうか。 ご教授いただければと思います。 よろしくお願いいたします。

  • マクロの学習法について

    お願いします。 現在、しごとでエクセルを使って消費者の特性等をまとめて、評価して商品企画につなげるという仕事をしています。 そこでマクロを少し勉強したいと思うようになりました。 同僚でマクロを使える人もいませんし、自分のスキルになればと思って・・・・ 巷には色々な本が出回っていますが、どれがよいのかわかりません。お勧めの書物があれば是非教えてください。 お願いします。

  • マクロ

    エクセルで表を作成する場合マクロというのがありますが、仕組みが良くわかりません。 特に他人が組んだマクロが壊れた時修復できないので、マクロについて分かりやすい本を紹介していただけませんか?

  • Excelマクロの単語推測機能設定について

    こんにちは お世話になります。 最近Excelのマクロの勉強を始めたのですが、 本を見ながら一つ一つ確認しながら単語を打つのが大変になってきました。 記述間違いによるデバックも大変で困っております。 マクロの記述時の機能で単語推測機能があったかと思うのですが、 どのように設定を行えば有効になるのでしょうか? 例: Work→WorkSheets など 使用している環境は以下になります。 OS :Windows XP home Excel:2002 SP3

  • マクロで全角を一括で半角に置換したいです

    マクロで下記の作業を行いたいのですがよくわかりません。 アドバイスお願いします。 ■作業内容 『Excelでsheetにある全角の文字を一括で半角に置換したい』 ※基本的に半角にできるもの(カナ・英数字・記号)は全て半角にしたいのですが、『~』だけは半角にしたくありません。 ■画面のイメージ ・sheet1にはマクロを組み込んだボタン画面 ・sheet2に全角のデータA ・sheet3にデータAを半角にしたデータA’が返される ■作業イメージ (1)sheet1のボタンをクリック (2)sheet2のデータを半角にしてsheet3に返す (3)『~』を『~』に置換し直す。 すみませんがよろしくお願いいたします。

  • マクロの自動転記について教えてください

    マクロの自動転記について教えてください 別シートで集計したデータをマクロを使って図の左端G列に表記させました このG列のデータにある日付(G3)は関数でその日のものですがこのG列のデータを図にある日付と同じ場所に毎日転記させたいのですがどなたか教えていただけませんか EXCELについてはある程度解っているつもりですがマクロは全くのド素人で勉強中ですが宜しくお願い致します

  • EXCEL:領収書発行のマクロ

    おはようございます。 EXCELで領収書の発行のマクロを考えています。 入力sheetは各セルに自動採番(マクロで取得)、日付や相手、金額を入力します。転記sheetは、入力sheetで入力した内容を行ごとにマクロで保存していきます。 このような仕様のEXCELフリーソフトか、記述の参考となるマクロを教えてください。

  • マクロの作成で

    自分でエクセルのマクロを作り本を見ながら勉強しています。 複数セルにまとめて振り仮名をつけるマクロをつくり、実行しようとしたら、振り仮名はついたものの”実行時エラー28”スタック領域の不足と出ました。 これはどういう意味でしょうか。 又その画面でデバッグというのがありますがこれも教えてください。

  • エクセル マクロ

    エクセルマクロで、複数ファイルにある全シートの情報を、別ファイルの1シートに転記したいのですが、なかなか上手く行きません。(ほぼ初心者です。) 詳細は↓です。どなたかご教授の程よろしくお願いいたします。 【やりたいこと】 同一フォルダ内にある約60個のファイルの、全てのシート内の情報を別の集計用ファイルに転記する。 (1) ファイル毎にばらばらなシート名&シート数で、これら全てのデータを集計用ファイルに転記するには?(シート数は1ファイルあたり1シートから最大13シート) (2) 以前に似たような作業をした時は、ファイル名をいちいち集計用ファイルにコピペして読み込ませたが、こうした手間を掛けずに一括処理するには? ※転記作業自体は「マクロの記憶」機能で書き出すので、それ以外の、特に始まりと終わりの部分を教えて下さい。 ※転記内容自体はあまり複雑ではなく、集計用ファイルに1シート1行として転記し、ズラッと下に120行書き込むつもりです。 説明が分かりづらい部分があればご指摘ください。よろしくお願いいたします。

  • エクセルのマクロを勉強したい

    エクセルのマクロを勉強したいんですが 初歩から学びたいのです。 何か、お勧めの本などありましたら 誰か教えてください。 お願いします。

専門家に質問してみよう