- ベストアンサー
Excelのコピー&ペーストについて
- Excelでコピー&ペーストするとき、コピー先領域の内容を全て削除してからコピーしてくれるような機能はないでしょうか?
- Excelでコピー&ペーストすると、コピー先領域には前回のボタンが残ってしまい、ボタンが溜まっていく問題があります。
- コピー先シートの内容を全て削除してからペーストするような機能や、ブック毎にオプション指定をする方法があるでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
No.2 です。 >諸事情がありコピー元ファイル名が異なるので、マクロ化が難しい状態です。 本当ですか?ファイル名には何の規則性もないのですか?仮にないとしても、ユーザーが出現するダイアログボックスからファイルを指定するようなマクロにすればいいのではありませんか?それともコピー元のファイルの中身も内容がバラバラで、何の規則性もないのでしょうか?
その他の回答 (2)
- MarcoRossiItaly
- ベストアンサー率40% (454/1128)
示されていないのでお手元のコードがどのようなものなのか分かりませんが、ボタンがたまるということは恐らく、シート上の全ての内容をコピペするマクロなのではないかと思います。 そうだとすれば、既存シート上の「内容」を別の既存シート上に貼り付けるというのではなくて、コピー元のシートそのものを丸ごとマクロでコピーすればいいのではありませんか?そうして複製されたシートをコピー先のブックに(貼り付けではなく)挿入し、コピー先のブック内にある前回のシートはやはりマクロで削除すればいいですね。ここまでの作業を全て一つのプロシージャとして記述すれば、削除などの手作業は何もしなくて済みますね。 そうではなくてシート上の一部のセル範囲とボタンを選択してそれらをどこかにコピペしているという場合であっても、せめてマクロに古いボタンの削除という操作も混ぜておけば、どんどんたまるということは起こり得なくなるのではありませんか? マクロで削除するんだから、機能とかではなくて、単に削除すればいいだけですね。 いずれにしても、折角マクロを使っているのに、削除など毎回手作業で行っている操作が何か残っている状況でしたら、それらもマクロ化することを検討してみてください。そこまでを一つのプロシージャで完結させるんですよ。 なおシートを丸ごとコピーするのは Worksheet.Copy メソッド(ブック間でもできます)、シートの削除は Worksheet.Delete メソッド、シートの削除時に警告を出させなくさせるには Application.DisplayAlerts プロパティの切り替え、ボタンの削除はボタンの種類にもよりますが Worksheet.Buttons(1).Delete メソッドなどです。ヘルプなどでそれぞれ調べてみてください。
補足
ご回答ありがとうございました。 コピーペーストをマクロで実行するならおっしゃる通りなのですが、 コピー作業はマクロではなく、CTRL+C,CTRL+Vで行っています。 諸事情がありコピー元ファイル名が異なるので、マクロ化が難しい状態です。
- hayasi456
- ベストアンサー率40% (2402/5878)
「切り取り」して「貼り付け」してはいかがでしょう。 私はショートカットで行っています。 Ctrl+X 切り取り Ctrl+V 貼り付け http://www2.odn.ne.jp/excel/xlshortcut.html
補足
ご回答ありがとうございます。 ただ、今回は切り取りではなく、コピーがしたいです。
お礼
全くその通りで、今まで突貫工事的な対応をしてきたのが、ここにきて様々な問題を引き起こしています。 社内にはシステム全体を管理している人がおらず、その都度その都度、いいかげんに対応してきたのが原因です。本当ならシステム全体を見直さなければならないのですが、それができない環境があることもご理解ください。最後は愚痴になってしまい申し訳ございません。