タイトル : Re^6: Excel処理の繰り返しでNG 投稿日 : 2010/02/14(Sun) 14:32 投稿者 : ぽよ〜ん
魔界の仮面弁士様、ありがとうございます。 > 同じ間違いを繰り返していますよ。 やっぱりよく分かってないようです。 > 「Sheets」の親オブジェクトが指定されていません。 あれこれ調べて xlSheet.Copy After:=xlBook.Sheets(1) として記述したら 目的の処理をしてくれました。複数回でも同様です。 > また、そもそも ActiveSheet を使うのではなく、どのシートかを > 明示的に指定すべきかと思います。 With xlBook.Sheets(2) .Activate .Range("B5").Value = 1234 End With このように記述して、動作させました。 > 原則として、End ステートメントは使うべきではありません。 > 替わりに、すべてのフォームを Unload する事で終了させましょう。 ・・・・・ > たとえば今回のように、同一箇所に複数行を挿入する場合、 > ・「1 行挿入」を X 回繰り返す。 > よりも > ・「X 行挿入」を1回行う。 > 方が、Excel との通信回数が減る分、処理効率が良くなります。 > > 特に VB6 から操作するなどの、「外部から」Excel を操作する際には、環境によっては > プロパティ/メソッドの通信回数の増加が、ハングアップの要因となる事もあります。 > http://support.microsoft.com/kb/414107/ja ありがとうございます。勉強になります。 言われてみればそうですよね。元のソースは改定いたしました。 タスクマネージャーから確認してもEXCELの残骸も無さそうだし、これでOKなのかな〜 本当に勉強になりました。上の書き方で問題なければこのまま進めて見ます。 有難う御座いました。 |