- ベストアンサー
VBA コピー貼付時にPC違いでエラーが出る場合
- VBAコピー貼付時に特定のPCでエラーが発生する場合があります。
- マクロ実行時にエラーメッセージ「この操作には同じサイズの結合セルが必要です。」が表示されるPCがあります。
- 貼付対象のセルは書式設定がされておらず、手動での貼り付けは可能ですが、マクロではエラーが発生します。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
#2の回答者です。 >片方でExcelのバージョンを確認すると、「Office 2003 SP3」と記載があり、 >片方のPCでは、「Office 2003」と記載があります。 Excelそのもののバージョンよりも、一種のバグのようなものだと思いますが、それをBugFix しているかは分かりません。つまり、「結合セル」に関わるBugFixは、ほとんど手が付けずに、サポートでは、仕様として返事していたような気がします。 私自身が再現できる所をみると、SP3とかは関係ないような気もします。 私のマクロのコードのどこでエラーが発生したかは分かりませんが、値貼り付けで、"PasteSpecial" は、実際の場では、あまり使われない方法であることは間違いありません。 シート自体を換えてしまった方がよいかもしれません。Excel 2003などのバイナリファイルは、シートの内部に様々な記録を残していますが、それは、更新されずに、ずっと残ったままです。だから、同じ問題は続いているのかもしれません。
その他の回答 (3)
- 米沢 栄蔵(@YON56)
- ベストアンサー率36% (37/102)
No.1です。 OSのバージョンは関係なし。 Excel2000,Excel2002,Excel2003,Excel2007,Excel2010では、 範囲のコピーを貼付する場合、微妙に異なる仕様となっているということです。 例えば、Excel2003では貼付する範囲の最左上セルをクリックしても貼付出来ますが、 Excel2002では最上行をクリックして貼付する仕様になっています。 また、Excel2000では同範囲をクリックして貼付します。 貼付方法の仕様(全て、値のみ、数式のみ、書式のみetc)によっても 貼付の際の範囲選択が異なります。
- WindFaller
- ベストアンサー率57% (465/803)
>マクロ実行時に、PCによりエラーが出る場合があります。 それは、可能性は少ないです。 >セルの状態を見ると、貼付対象のセルは書式設定は無く、貼付可能です。 こちらでも、その現象は再現できました。不思議な現象です。貼り付け先のシート結合セルを取り去っても、結合セルの痕跡が残るようです。 昔の記憶で不確かですが、こんなスタイルで解決できたはずです。他のオプションが必要でしたら、付け加えてください。 Range("J36:S57").Copy With Worksheets(My_name).Range("L19") .PasteSpecial Paste:=xlPasteAll .PasteSpecial Paste:=xlPasteValues End With
補足
WindFallerさん、コメント有難うございます。 ご指摘の通り、ソースを変更してみました。 結果はプロパティの条件が悪いのか、エラーが出ました。 再度、調べてみます。 有難うございました。
- 米沢 栄蔵(@YON56)
- ベストアンサー率36% (37/102)
コピー貼付時にエラーが出る原因は、 Excelのバージョンよって貼付方法が異なる仕様になっているためです。 このトラブルは解消不能です。 よって、 [コピー&貼付時]を[データ取得&データ書込]とする発想の転換をお勧めします。
補足
YON56さん、コメント有難うございます。 Excelバージョンの確認をしたところ、違っていました。 正常に動作するPCでは、SP3と記載が有り。エラー発生端末では、表示されていません。 OSは、WinXP SP3となっています。 何かアップデートが必要なのでしょうか?
お礼
ご連絡、有難うございました。 Excelのバージョンは、Office2003です。 いずれも同じメディアからインストールしました。 片方でExcelのバージョンを確認すると、「Office 2003 SP3」と記載があり、 片方のPCでは、「Office 2003」と記載があります。 インストールした後のアップデートで、2台のPCにて差が出たのでは? と思います。 アップデート等を行ってみたいと思います。