タイトル : Re: 続きですみません。 投稿日 : 2008/04/22(Tue) 16:19 投稿者 : るしぇ
手作業でコピーする場合も、縦(または横)のみのセル幅を保持したまま コピーしたい場合は列(または行)選択でコピーしますし、両方のセル幅を 保持したい場合はシート全体を選択してコピーすると思います。 そんな中、特定行だけコピーしてセル横幅を適用したい場合に、直接 セル横幅の値を設定してやるYKさんの手法は素晴らしいと思います。 もともと、Excelで『Active』とか『Select』といった類の単語が 使われている命令は不安定です。 (ちょっとした原因でアクティブにならないと失敗します) > Range("A1:Z50").Select > Selection.Copy は Range("A1:Z50").Copy で置き換えられるはずです。 マクロの記録で得られるコードをそのまま使用せず、ヘルプ等で構造を 理解した上で安定して実行できるプログラムに修正していくことを お勧めします。 >エラーの原因はWorksheets(1)がアクティブでない為 > xlApp.Worksheets(1).Select を追加すれば >> xlApp.Worksheets(1).Rows(1).Select >> xlApp.Worksheets(1).Rows(1).Insert もしかしたら。。。だけどSelectしなくてもいいんじゃない? つまりSelect命令を丸ごと削除したら。。。 |