
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で質問しましょう!
似たような質問が見つかりました
- Word(ワード) Word 見出しの設定が上手くいきません。 2 2023/06/18 10:05
- その他(バイク) ジェットヘルメット二種の安全性は 5 2023/06/25 12:07
- Word(ワード) Word2013 一行目のインデント位置 1 2022/09/23 06:05
- Excel(エクセル) ExcelのFSO(ファイルシステムオブジェクト)について学びたいのですが。。。 5 2022/12/15 18:06
- Visual Basic(VBA) VBAで実行時エラー'424' オブジェクトが必要ですと出る 2 2022/10/07 09:25
- Excel(エクセル) Excelシートのある番地の文字が一致したすべての行を別シートに転記する方法 11 2022/10/25 08:43
- Word(ワード) ワードのインデントについて 写真②のぶら下げインデントだけ動かしたくても、いつも写真③まで動いてしま 3 2022/07/31 19:06
- 英語 英作文についての質疑応答 1 2022/11/20 07:17
- アニメ グレンラガンの操縦は、グレンとラガンに乗った二人の内、どっちが何をやっているのでしょうか。 1 2022/06/20 19:31
- その他(悩み相談・人生相談) やることが沢山あり過ぎて頭の中がオーバーヒート 混乱、困惑し過ぎて結局何一つ出来てない 優先順位付け 3 2022/04/19 21:42
このQ&Aを見た人はこんなQ&Aも見ています
-
あなたの「必」の書き順を教えてください
ふだん、どういう書き順で「必」を書いていますか? みなさんの色んな書き順を知りたいです。 画像のA~Eを使って教えてください。
-
初めて自分の家と他人の家が違う、と意識した時
子供の頃、友達の家に行くと「なんか自分の家と匂いが違うな?」って思いませんでしたか?
-
みんなの【マイ・ベスト積読2024】を教えてください。
積読、ついついしちゃいませんか?そこでみなさんの 「2024年に買ったベスト積読」を聞きたいです。
-
AIツールの活用方法を教えて
みなさんは普段どのような場面でAIツール(ChatGPTなど)を活用していますか?
-
今から楽しみな予定はありますか?
いよいよ2025年が始まりました。皆さんには、今から楽しみにしている予定はありますか?
-
VBAのソースを整形する方法
その他(Microsoft Office)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの改行時、2行目の頭...
-
パワーポイントで箇条書きの際...
-
WORDで見出しを設定すると空白...
-
ワードの左インデントとぶら下...
-
インデントの幅
-
VBAコード記述に際して、コード...
-
セル内右寄せ文字列の右側に半...
-
ワードで余白に文字が行かない...
-
行の真ん中で改行されてしまい...
-
Wordで左詰めできない・・・。
-
VScode 設定のエラーについて
-
エクセル マイナスの表示を▲に...
-
Wordでインデントを設定すると...
-
PowerPointで、Wordのようにぶ...
-
【ワード】レポートで引用部分...
-
WordでBackspaceを押すと一気に...
-
Excelについてですが、行を挿入...
-
Excel でインデントを左右に入...
-
エクセルの横位置の均等割付(...
-
エクセルで罫線と文字の間隔を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【ワード】レポートで引用部分...
-
エクセルの改行時、2行目の頭...
-
WORDで見出しを設定すると空白...
-
パワーポイントで箇条書きの際...
-
ワードの左インデントとぶら下...
-
VBAコード記述に際して、コード...
-
Wordで左詰めできない・・・。
-
ワードで余白に文字が行かない...
-
エクセル表の正負が混じった数...
-
エクセル マイナスの表示を▲に...
-
インデントの幅
-
PowerPointで、Wordのようにぶ...
-
行の真ん中で改行されてしまい...
-
セル内右寄せ文字列の右側に半...
-
Wordでインデントを設定すると...
-
Wordでレポートの表紙を作って...
-
Excel でインデントを左右に入...
-
Wordで英文を打ちたいのですが...
-
ワードの目次 フィールドの更新...
-
エクセルの横位置の均等割付(...
おすすめ情報