[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『VBA:シートのコピーでエラーが出る』(こばちゃん)
エクセルのシートを選択して新規のブックにコピーするというマクロを作成しまし た。これをOS:XPでエクセル97で動かすとsheetクラスのcopyメソッド でエラーが出るのですが、どうしてでしょうか? また、複数の端末で試したのですが、XPで97で動く端末もあり、動かない端末も あるようで原因が良くわかりません。だれか、症状がわかる方お願いします。
症状がわかる方ではありませんが、アドバイスを。
どのようなコードで、メソッドエラーで[こける]か 肝心なことが全く書かれていないので想像ですが。
バージョンの違いで[こける]のではないと思います。 特定のシートがすでに存在しているとか、必要なシートが存在しないとか、
多分そういった要因です。 (kazu)
回答ありがとうございます。 まったく同じマクロ実行しています。動くPCと動かないPCがあるのでバージョンの 違いかと思いました。ご指摘の特定のシートがすでに存在しているというのは無いで す。なぜなら新規ブックにコピーしようとしているからです。また、必要なシートが 無いというのも無いです。仮に無い場合に動かすと違うエラーメッセージが出ます。 いま、出先でソースが手元に無いのですが、マクロの記録で作ったものです。 作ったときはOS95でエクセル2000です。 記録した手順は、仮に"sheet1”と”sheet2”・・・”sheet10”あって、 "sheet1”と”sheet2”を選択し新しいブックにコピーするといった手順です。 単純な作業なので間違いは無いと思うのですが。。。 ちなみに OS 95、98、Me、2000、XP、NTすべてにおいて エクセル97、2000、2002、XPと多種多様あって、 OSがXPでエクセル97の場合にエラーが出るようなのです。 まあ、個人的にいえばもうXPでエクセル97は無いっしょ!?と思います。 さっさとXP買ってくれよと思うのですが、個人ではないのでそうも行かない現実が つらいです。。。だれか、マイクロソフトのバグだといってください。それなら諦めが つくってもんです。。。 マイクロソフトは、話し方がまずいのかうまく取り合ってくれませんでした。。涙;
(こばちゃん)
私がMicrosoft社のバグです、と言えば解決しそうですが、 そういうわけにも行きませんし...。
一つだけ気になるのが新規ブックで作られるシートの数です。 昔はSheetは数が多くて、Sheet10くらいあったように記憶しています。 最近のバージョンはSheet3までです。 このへんが原因で、うまく動くマシンと動かないマシンがあるのでは? (kazu)
新規ブックの作成シート数は「ツール」⇒「オプション」⇒「全般」⇒「新しいブックのシート数」で 変更可能なので「Sheet3まで」とは言えないと思います。 手動で別ブックにコピーしようとすると、新しいブックにシートが追加されて複写されますが、 マクロの中でそのような設定はされているのでしょうか?(すーさん)
あはは。そういう風に受けとめられてしまいましたか。 もちろんシートの枚数は設定できます。
<改め版>
一つだけ気になるのが新規ブックで作られるシートの数です。 昔はデフォルトのシート数は多くて、10くらいあったように記憶しています。 最近のバージョンのデフォルトシート数は3枚です。 シートの枚数を変更しているため、うまく動くマシンと動かないマシンがあるのでは? (kazu)
kazuさん、すみません。 kazuさんに対しての助言のつもりはなかったのです。失礼致しました。 読者のなかで、枚数が変更できるのを知らない人のために記載しました。(すーさん)
kazu様、すーさん様回答ありがとうございます。今回出ているエラーの件と上記で 指摘されているシート枚数は無関係と思われます。なぜなら、新規ブックにコピー しようとしている枚数は3枚ですが、1枚コピーで実験してもエラーが出現していま す。シートの枚数設定が変えられても0枚は出来なかったはず。。。 そのPCで、普通に新規ブックの起動は出来ますのでマクロが要因かと思います。
マクロ内でこの辺の設定はいじっていませんのでそのPCの設定に依存しています。 単純にシートを新規ブックにコピーというマクロにして3行ほどの文なので お手上げです。
しょうがないので、OS=XPかつEXCEL97の組み合わせは封印することに しました。出来れば解決したいですが、、、 (こばちゃん)
どのようなマクロ文なのか記載してもらうと、解決策のアドバイスが ベテランの方からしてもらえるのではないでしょうか?(すーさん)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.