• 締切済み

RangeクラスのSelectメソッドが失敗しました。

VB5.0でExcel97のファイルを作成するプログラムを作成しています。 今まで順調にエクセルのほうで、コピーしたり移動したりしていたんですが 以下のようなエラーが出るようになってしまいました。 何のタイミングで出てきたかがわからないので困っています・・。 Exsheet1にアクティブシートを設定しています。 (1)の範囲をコピーして(2)の部分を先頭に貼り付けようとしています。 (1)ExSheet1.Range("A6:Z6").Copy (2)ExSheet1.Range("A7").Select (3)ExSheet1.Paste (2)で、「Range クラスの Select メソッドが失敗しました。」 というエラーが出ます。 前後を詳しく書いていないので、わかりにくいと思いますが こういったエラーが出る場合の対処方法など教えてください。 よろしくお願いいたします!

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

エクセルのVBA中だけでは下記はコピーをすることを確認しました。 Sub test01() Set ExSheet1 = Worksheets("sheet1") ExSheet1.Range("A6:Z6").Copy ExSheet1.Range("A7").Select ExSheet1.Paste ' ActiveSheet.Paste End Sub 私は前からExSheet1.Range("A7").Pasteのようなのが出来ないのに、そう書いてエラーを起こし、なぜSheetに貼りつけなければ行けないのか不思議だったです。ActiveSheet.Pasteでもだめでしょうね。

hoturon
質問者

お礼

そういえばSheetに貼り付けるっていうのも不思議ですね。 ActiveSheet.Paste としても同じ現象でした。 エクセルを立ち上げないで(画面に表示しないで)処理しているのが いけないかとも思ったんですが、そうでもないし・・・。 原因がわからないでなったりならなかったり・・が一番困りものです。 回答ありがとうございました。

関連するQ&A