回答編集履歴
1
日本語の修正
answer
CHANGED
@@ -1,14 +1,16 @@
|
|
1
1
|
バシッとした回答ではありませんが…
|
2
|
+
|
2
3
|
オートメーションエラーは経験上、過負荷っぽい時(?)、大量の情報を処理しようとする時(?)、無いオブジェクトにアクセスしようとしたり(?)といった、普段あまり起きないであろう「もろもろ」の状況でよく起きている気がします。
|
3
4
|
|
4
5
|
まずは、エラーが起きるであろうブックを保存し、どのシートのどの部分でエラーが起きるか、再現性を検証するのに必要なデータ(材料)をそろえてください。
|
5
6
|
|
6
|
-
続いて、VBAエディタでコードの左端をつつくと、ブレークポイント(赤い丸)を付けられたと思います。VBAを走らせたときに、このブレークポイントで一時停止できますので、怪しいところを何か所かマークを付けて走らせてください。特に怪しい部分については、一行毎に動かしてください。
|
7
|
+
続いて、VBAエディタでコードの左端をつつくと、ブレークポイント(赤い丸)を付けられたと思います。VBAを走らせたときに、このブレークポイントで一時停止できますので、以下の行より上の部分で怪しいところを何か所かマークを付けて走らせてください。特に怪しい部分については、一行毎に動かしてください。
|
7
8
|
|
8
|
-
これを続けると、どこかでオートメーションエラーが発生する行が見つかります。
|
9
|
-
|
9
|
+
> .Range(.Columns(第一列左列 + 一台列数 * 繰返し数 + 1), .Columns(第一列左列 + 一台列数 * 繰返し数 + 1)).Insert Shift:=xlToRight
|
10
10
|
|
11
|
+
この時に、この行で何が起きてオートメーションエラーが出てきたか、実は少し前の行で異常な動作をしていた、などを元にもう一度teratailで相談してみてください。
|
12
|
+
|
11
13
|
むしろ、ここまでできればきっと自力で解決できると思います。
|
12
14
|
どうしてもオートメーションエラーを解決できないときには、全く別の関数や方法を使って代替手段を用意するしかないと思います。
|
13
15
|
|
14
|
-
|
16
|
+
Good luck!
|