回答編集履歴

1

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

2016/11/25 04:46

投稿

退会済みユーザー
test CHANGED
@@ -159,3 +159,125 @@
159
159
 
160
160
 
161
161
  参考(翔泳社会員登録が必要)[VBAで正規表現を使う](http://http://codezine.jp/article/detail/1655)
162
+
163
+
164
+
165
+
166
+
167
+ 追記:
168
+
169
+
170
+
171
+ ryuujinn様
172
+
173
+
174
+
175
+ ふと思いましたが、コードを追加する場合、「1つのSub内にすべて入れ込まないといけない」と
176
+
177
+ 思っておりませんか?
178
+
179
+
180
+
181
+ その場合、コードが非常に縦方向に長くなり、訳が分からない状態になってしまう恐れが
182
+
183
+ ございます。
184
+
185
+
186
+
187
+ Excel-VBAは「『オブジェクト指向プログラミング』が可能な言語=複数のプロシージャを「部品のように」組み合わせるプログラムが作成可能な言語」ですので、以下のように組む方法をお勧めします。
188
+
189
+
190
+
191
+ ```Excel-VBA
192
+
193
+
194
+
195
+ Sub Sample1()
196
+
197
+ 処理1
198
+
199
+ END Sub
200
+
201
+
202
+
203
+ Sub Sample2()
204
+
205
+ 処理2
206
+
207
+ End Sub
208
+
209
+ ```
210
+
211
+
212
+
213
+ と作成し、「Sample1→Sample2」のように実行したいときは、
214
+
215
+ ```Excel-VBA
216
+
217
+ Sub Sample3()
218
+
219
+ '呼び出すプロシージャ名の()は不要
220
+
221
+ Call Sample1
222
+
223
+ Call Sample2
224
+
225
+
226
+
227
+ End Sub
228
+
229
+ ```
230
+
231
+
232
+
233
+ と、「Call」を使ってプロシージャを追加すると、プロシージャの改良や追加が楽になり、
234
+
235
+ エラーも起きにくくなりますよ?
236
+
237
+ (FunctionはCallを使わないこと。)
238
+
239
+
240
+
241
+ あるいは、このようにしても大丈夫です。
242
+
243
+ ```Excel-VBA
244
+
245
+ Sub Sample1()
246
+
247
+ 処理1
248
+
249
+
250
+
251
+ Call Sample2
252
+
253
+
254
+
255
+ END Sub
256
+
257
+ ```
258
+
259
+
260
+
261
+ 老婆心ながら、という事で。
262
+
263
+
264
+
265
+
266
+
267
+ あと、「最後の行だけ改行を入れない」というのであれば、
268
+
269
+
270
+
271
+ 0. jawa様の「メイン2」の変数「strOutput」を「動的配列」にする。
272
+
273
+ 0. 配列の最大インデックス番号に格納されたデータのみvbCrlfを入れないように条件を分ける
274
+
275
+
276
+
277
+ このように言われても「??」だとは思いますが…。
278
+
279
+ もし分からない場合は、コメント等でお尋ねください。
280
+
281
+
282
+
283
+ 頑張って!