電子書籍の厳選無料作品が豊富!

VB5.0でExcel97のファイルを作成するプログラムを作成しています。
今まで順調にエクセルのほうで、コピーしたり移動したりしていたんですが
以下のようなエラーが出るようになってしまいました。
何のタイミングで出てきたかがわからないので困っています・・。

Exsheet1にアクティブシートを設定しています。
(1)の範囲をコピーして(2)の部分を先頭に貼り付けようとしています。

(1)ExSheet1.Range("A6:Z6").Copy
(2)ExSheet1.Range("A7").Select
(3)ExSheet1.Paste

(2)で、「Range クラスの Select メソッドが失敗しました。」
というエラーが出ます。

前後を詳しく書いていないので、わかりにくいと思いますが
こういったエラーが出る場合の対処方法など教えてください。
よろしくお願いいたします!

A 回答 (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でもだめでしょうね。
    • good
    • 0
この回答へのお礼

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

お礼日時:2002/05/23 09:59

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!