No.5ベストアンサー
- 回答日時:
あまり役に立たない回答のようでしたが....
> たとえば、IF文を沢山いくつか作ったりしていると、
例えば、IF ~ Then と入力したら、直ぐ End If を書くんです。
If a > 0 Then
と入力したら、Enter キー押下で VBE 標準の機能で自動的にインデ
ントが挿入されますので、そのまま End If を入力。
If a > 0 Then
End If
あとは、中間に Enterキー連打で適当に空行を挿入し、If~End If の
インデントよりひとつ深い場所に必要なコードを書いていく。
If a > 0 Then
Msgbox a
End If
これがコツです。
# コーディングに慣れたらインデントの階層を深くしないように
# 書くこともできるでしょう
同様に、With ~ End With、For ~ Next、Do ~ Loop など構文ごと
のまとまりでインデントをつけると見易いのですが、ここで挙げて
いっても切りがありません。
> 自動で処理してもらえるのもいいのですが、
回答者としての意図は、これらのツールを使って、インデント前と
インデント後のコードを見比べてみたら? そうすれば、雰囲気は
掴めますよ...というものなのだけど。
インデントについてこれと言った決まりはありません。つまるところ
「好み」の話ですね。
そこで、#2 で紹介した Smart Indenter は標準設定でも非常に多くの
人が好むコードスタイルに整形してくれるため、お手本として良いの
です。
この回答への補足
回答再度ありがとうございます。
コツ、大変すばらしいです。ぜひやります。めちゃくちゃうれしいです。
インデントに決まりはないとは知りませんでした。そうなんですね。
教えていただいたようにさっそく実行していきます。
No.8
- 回答日時:
こんにちは。
#4 の回答者です。
もし、VBAの書き方の作法自体を求めるなら、もう少し違ったところにあるということは確かなところなのです。しかし、それを教えようにも教えられないのです。
>IF文を沢山いくつか作ったりしていると、途中で自分でも見づらくなり、もう適当にインデントをつけたりしちゃいます。
これは、コードを整形など書法スタイル以前の問題なんですが、それは、どうすればよいのかは、自分で学ぶしかないのです。
インデントなどコード整形は、なぜ、そうするかというと「保守性」と「可読性」という問題であって、他人ではなく、自分自身できちんとコードが読めることが大事だと思います。単なる格好付けではないということです。
他にも、
・1つのプロシージャの行数をせいぜい100行程度までに納める。
・Option Explicit は、いつも入れておく。
・長すぎる行は避ける。(= 引数ごとに、「_ (アンダーバー)改行を入れる)
・コメントは不必要に入れない。必要な部分だけを入れる。
・If の分岐を多くしない。CASE に換える。
・If, With などは、ネストを深く掘り下げない。
など。
というのは、一応、書法ルールにはあるのですが、(VB系にはVB系の書き方、CなどにはCの書き方はあるのは事実。しかし、)それは厳密なものではありません。他人の人のコードの中には、おかしなものがあるものの、内容が間違っていないならば、それは、それで良いとしていかなくてはならないと思います。ただ、私個人は、なるべく標準的な書法には近づけたいと思うのは、掲示板の公共性ゆえの理由からです。どちらかというと、Microsoft が公開しているコードを参考にしています。
この回答への補足
再度、回答ありがとうございます。
まだ初心者なので作っている段階でこんがらがってしまうのです。英語は苦手なタイプで、すべてアルファベットのためどうしてもそうなってしまいます。勉強中のところです。
CASE文をしっかり勉強しないといけないのですね。頑張ってテキストを何度も読み返して自分で応用して作ってみたりしてマスターしていこうと思います。
No.7
- 回答日時:
>手動でやる際にどうやるのかも教えていただけないでしょうか。
ループやIF、Withなど、まとまりとして管理(見る)部分はコーティングしながらTABで字下げするような癖を付けるしか無いでしょう。
>たとえば、IF文を沢山いくつか作ったりしていると、途中で自分でも見づらくなり、もう適当にインデントをつけたりしちゃいます。
最初から字下げに注意していれば見にくくなる事は無いと思います。
見にくいというのは別な要因(条件設定が煩雑等)の理由もあるので、余分な条件(無駄)が無いかチェックする必要も有るでしょう。
また、動作を理解してプログラミングをしていればそのように複雑にネストするような事は少なくなるはずです。
内容によってはCASE文でも可能ですから、IF文よりも簡潔に出来ます。
複数行選択(反転)してから、[TAB],[Sheft]+[TAB] で字下げ(上げ)する事も可能です。
この回答への補足
CASE文はパソコン教室で習いましたが、難しいのです。困ったことです。
大変参考になります。ありがとうございます。
CASE文を覚えていかないといけませんよね。頑張ります。
No.6
- 回答日時:
インデントは、「処理」のまとまりを視覚的に区別しようというものと思います。
しかし「処理」というのが曲者で、あいまいな言葉です。代表的なのは、
ネストできるものでレヴェルを視覚的に判りやすくする
IF THEN ENFID
With ~ End With
For ~ Next
Do ~ Loop
など、初めと終わりがペアになっているもので初めと終わりを
際立たせるとか
などでしょう。
あと、同類の処理の部分、初期背鄭の部分、変数定義の部分、後じまい・最終処理の部分などに、インデントをそろえるという意味で
使っても良いかもしれない。このあたりは、スペース行や、コメント
でやっている方も多いと思うが。
やり方は先頭に適当数のTABを入れるということしかないと思う。
この回答への補足
回答ありがとうございます。
まだ、初心者なもので困っていました。
大変参考になります。
際立たせるというのはいいですね。さっそく実行します。
No.4
- 回答日時:
こんばんは。
Office 2000用と書いてありますが、少なくとも、Office 2003までは使用できる、コード整形用ツールのCOMアドインです。
作者は、渡辺ひかるさんです。
VbePlus
http://www.vector.co.jp/soft/win95/prog/se176543 …
No.3
- 回答日時:
英語版ですが自動インデントツールがあるようですね。
http://puremis.net/excel/blog/?p=447
Smart Indenter v3.5
右クリックメニューに追加されます。
http://www.oaltd.co.uk/Indenter/Default.htm
級・上級(VBAでの操作・オプション関係)
http://www.geocities.co.jp/Technopolis/2082/Soft …
この回答への補足
わざわざ探してくださりありがとうございます。
じっくり見てみます。
自動で処理してもらえるのもいいのですが、
自分で考えつつやりたいと思っていました。
手動でやる際にどうやるのかも教えていただけないでしょうか。
たとえば、IF文を沢山いくつか作ったりしていると、途中で自分でも見づらくなり、もう適当にインデントをつけたりしちゃいます。
せっかく回答いただいたのに、すみませんが、手動でする際にどうすればいいのか教えていただきたいです。
No.2
- 回答日時:
VBE のアドインです。
右クリックメニューからの簡単操作でコードを整形してくれます。
[Smart Indenter v3.5] Freeware
http://www.oaltd.co.uk/Indenter/Default.htm
日本語表示はできませんが、ほとんど問題にならないでしょう。
コードを書いた後の整形に、掲示板に掲載されたインデントされていない
コードを解析する時に、とても助かります。オススメツールです。
No.1
- 回答日時:
VBE画面ではTabキーでインデントがつけられますよ
ただしこのサイトにアップするときはTabを全角空白に置き換えないと表示がずれますけど
If A = B Then
Range("A1").Value = B
End If
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
好きなおでんの具材ドラフト会議しましょう
肌寒くなってきて、温かい食べ物がおいしい季節になってきましたね。 みなさんはおでんの具材でひとつ選ぶなら何にしますか? 1番好きなおでんの具材を教えてください。
-
【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
2024年は「名探偵コナン30周年」「涼宮ハルヒ20周年」などを迎えますが、 あなたが「もうそんなに!?」と驚いた○○周年を教えてください。
-
これ何て呼びますか Part2
あなたのお住いの地域で、これ、何て呼びますか?
-
牛、豚、鶏、どれか一つ食べられなくなるとしたら?
牛肉、豚肉、鶏肉のうち、どれか一種類をこの先一生食べられなくなるとしたらどれを我慢しますか?
-
架空の映画のネタバレレビュー
映画のCMを見ていると、やたら感動している人が興奮で感想を話していますよね。 思わずストーリーが気になってしまう架空の感動レビューを教えて下さい!
-
VBAコード記述に際して、コード全体を自動的にインデント付ける方法
Access(アクセス)
-
VBAのソースを整形する方法
その他(Microsoft Office)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの改行時、2行目の頭...
-
パワーポイントで箇条書きの際...
-
【ワード】レポートで引用部分...
-
WORDで見出しを設定すると空白...
-
エクセル表の正負が混じった数...
-
エクセル マイナスの表示を▲に...
-
Wordで左詰めできない・・・。
-
ワードの左インデントとぶら下...
-
行の真ん中で改行されてしまい...
-
Wordで行の先頭にスペースを入...
-
VBAコード記述に際して、コード...
-
セル内右寄せ文字列の右側に半...
-
エクセルの横位置の均等割付(...
-
インデントの幅
-
ワードで余白に文字が行かない...
-
ワードの原稿用紙ウィザードで...
-
ワードの目次 フィールドの更新...
-
Wordでインデントを設定すると...
-
行頭文字がルーラーで指定した...
-
PowerPointで、Wordのようにぶ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルの改行時、2行目の頭...
-
パワーポイントで箇条書きの際...
-
WORDで見出しを設定すると空白...
-
【ワード】レポートで引用部分...
-
ワードの左インデントとぶら下...
-
VBAコード記述に際して、コード...
-
Wordで左詰めできない・・・。
-
行の真ん中で改行されてしまい...
-
インデントの幅
-
エクセル マイナスの表示を▲に...
-
エクセル表の正負が混じった数...
-
ワードで余白に文字が行かない...
-
PowerPointで、Wordのようにぶ...
-
Excel でインデントを左右に入...
-
Wordでインデントを設定すると...
-
WORDのぶら下げインデント...
-
エクセルの横位置の均等割付(...
-
パワー・ポイントのテキスト・...
-
ワードの目次 フィールドの更新...
-
セル内右寄せ文字列の右側に半...
おすすめ情報