dポイントプレゼントキャンペーン実施中!

Excel VBAでのシートのコピーをしようとしてヘルプを参考に

Sheets("master").Copy After:=Sheets("master")

のようにマクロを書きました。
これでExcel2000ではちゃんとコピーしたのですが、Excel97ではコピーをしてくれません。
いくつかの端末(OSはWin95、WinNT4、Win2000)でやってみましたがExcel2000はOK、Excel97ではダメでした。
なにか原因があるのでしょうか?

A 回答 (3件)

再びこんにちは。



シートにおいたActiveXコントロール(CommandButtonなど)から実行してますか?

であれば、ActiveCell.Activate を入れてみては?

Private Sub CommandButton1_Click()
 ActiveCell.Activate
 Sheets("master").Copy after:=Sheets("master")
End Sub
    • good
    • 0
この回答へのお礼

コマンドボタンからの実行でしたので、"ActiveCell.Activate"を入れたら無事シートのコピーが出来ました。
どうもありがとうございました。m(_ _)m

お礼日時:2003/06/09 13:29

こんにちは。



#1さんのサンプルでもダメなのでしょうか?
私もExcel97環境ですが問題ないですよ。

マクロの全貌が不明なのですが、問題は他の部分にあり、On Error Goto 等でエラー回避しているとかでは?

この回答への補足

papayukiさん こんにちわ
人の作ったマクロをいじっていたので前の方を確認してみたら「On Error Resume Next」でエラーの次行から実行するようになっていました。
これをはずして実行してみるとシートコピーをしている行「Sheets("master").Copy After:=Sheets("master")」で「実行時エラー'1004':WorksheetクラスのCopyメソッドが失敗しました。」というエラーメッセージが出ました。
#1さんのサンプルをコピペしてtestcopyのみを実行しても同じエラーになってしまいます。
皆さんの方で問題なく実行できているとすると・・・・・・諦めかな?

補足日時:2003/06/06 10:37
    • good
    • 0

OS Win95 Office97 で


EXCEL97の標準モジュールに以下を記述してテストしましたが、問題なくコピーされました。
具体的にどのようなエラーがでるのですか?

Sub testcopy()
Sheets("master").Copy After:=Sheets("master")
End Sub

この回答への補足

エラーにはならずに、表面上はコピーも何もせず終わってしまいます。
エラーならばもうちょっと考えどころがあるのですが・・・・。
(ちなみにウチのWin95 Office97 ではNGでした(T_T))

補足日時:2003/06/05 15:07
    • good
    • 0

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