質問するログイン新規登録

回答編集履歴

1

Excel-VBAでのコードの追加方法

2016/11/25 04:46

投稿

退会済みユーザー
answer CHANGED
@@ -78,4 +78,65 @@
78
78
  もし正規表現に詳しい方おられましたら、ご意見等お願い致します。
79
79
  (私ももう少しやってみようと思います。面白い試みだと思いましたので。)
80
80
 
81
- 参考(翔泳社会員登録が必要)[VBAで正規表現を使う](http://http://codezine.jp/article/detail/1655)
81
+ 参考(翔泳社会員登録が必要)[VBAで正規表現を使う](http://http://codezine.jp/article/detail/1655)
82
+
83
+
84
+ 追記:
85
+
86
+ ryuujinn様
87
+
88
+ ふと思いましたが、コードを追加する場合、「1つのSub内にすべて入れ込まないといけない」と
89
+ 思っておりませんか?
90
+
91
+ その場合、コードが非常に縦方向に長くなり、訳が分からない状態になってしまう恐れが
92
+ ございます。
93
+
94
+ Excel-VBAは「『オブジェクト指向プログラミング』が可能な言語=複数のプロシージャを「部品のように」組み合わせるプログラムが作成可能な言語」ですので、以下のように組む方法をお勧めします。
95
+
96
+ ```Excel-VBA
97
+
98
+ Sub Sample1()
99
+ 処理1
100
+ END Sub
101
+
102
+ Sub Sample2()
103
+ 処理2
104
+ End Sub
105
+ ```
106
+
107
+ と作成し、「Sample1→Sample2」のように実行したいときは、
108
+ ```Excel-VBA
109
+ Sub Sample3()
110
+ '呼び出すプロシージャ名の()は不要
111
+ Call Sample1
112
+ Call Sample2
113
+
114
+ End Sub
115
+ ```
116
+
117
+ と、「Call」を使ってプロシージャを追加すると、プロシージャの改良や追加が楽になり、
118
+ エラーも起きにくくなりますよ?
119
+ (FunctionはCallを使わないこと。)
120
+
121
+ あるいは、このようにしても大丈夫です。
122
+ ```Excel-VBA
123
+ Sub Sample1()
124
+ 処理1
125
+
126
+ Call Sample2
127
+
128
+ END Sub
129
+ ```
130
+
131
+ 老婆心ながら、という事で。
132
+
133
+
134
+ あと、「最後の行だけ改行を入れない」というのであれば、
135
+
136
+ 0. jawa様の「メイン2」の変数「strOutput」を「動的配列」にする。
137
+ 0. 配列の最大インデックス番号に格納されたデータのみvbCrlfを入れないように条件を分ける
138
+
139
+ このように言われても「??」だとは思いますが…。
140
+ もし分からない場合は、コメント等でお尋ねください。
141
+
142
+ 頑張って!