- 締切済み
マクロでブック間のリンクを切るためにはどうすれば良いですか?
マクロ初心者です。現状、月次データの分類・集計にマクロを使用し、演算結果を新しいブックで保存して配布用資料としています。配布用資料はマクロを削除して送付しているのですが、その際に配布用のSheetにコピー元でのリンクの情報が残ってしまいます。都度、編集→リンクの設定でリンクの解除をしておりますが、これをマクロで解決する方法はあるでしょうか? 大変つたないコードでお恥ずかしいですが現状は以下の通りです。集計後、配布用の新しいブックを作成する過程とお考えください。 Sub Oct() Sheets("配布資料").Select ActiveSheet.Unprotect Sheets("10月").Select Range("A1:F40").Select Selection.Copy Sheets("配布資料").Select Range("A1").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Cells.Select Application.CutCopyMode = False ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True Sheets("配布資料").Select ActiveSheet.Unprotect Sheets("配布資料").Select Sheets("配布資料").Copy Sheets("配布資料").Select Range("A1").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.Dialogs(xlDialogSaveAs).Show ActiveWorkbook.Close End Sub 殆どExcel自体を触ったことが無く、体裁を整えている程度のつたない知識です。ご指導いただければ幸いです。宜しくお願いいたします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- A88No8
- ベストアンサー率52% (836/1606)
fy551122さん、こんにちは 現状のマクロで業務が出来ているとのことですが、σ(^_^; 実力がないもので、説明とコードと見ても何処から何処へ何をどうしたいのか判りませんです。 基本的なことですが、いつも使っているらしい「配付資料」の雛形シート自体にリンクがあるのでは?(だから値ペーストしてもリンクが残ってしまう可能性) また、End Sub行を含めてさかのぼること4と5行の間あたりに何かを Selection.Copy する必要がないでしょうか? ブックが変わっているためセレクト直後に値ペーストすると対象がないのでエラーになってしまうと思えるのです。
お礼
A88No8様。ご回答ありがとうございます。 >End Sub行を含めてさかのぼること4と5行の間あたりに何かをSelection.Copyする必要がないでしょうか? との事ですが、申し訳ありません。下記コードが抜けてました。 Sheets("配布資料").Select Sheets("配布資料").Copy Sheets("配布資料").Select 'ここから Range("A1:F100").Select Selection.Copy ActiveSheet.Select 'ここまで Range("A1").Select リンクの原因を私自身でも調べてみたのですが、どうもコピー元のオブジェクトに割り当てた(印刷の)マクロが原因のようでした。 これをコピー元から削除して新しいブックを作成してみると値のみの貼り付けが出来、リンクも解消されました。一応オブジェクトの貼り付けているセルも含めて範囲指定して貼り付けしていたのですが問題解決にはなりませんでした。新しいブックに貼り付けられた印刷のオブジェクトがコピー元を見に行っていたみたいでした。 A88No8様、質問にご対応いただきまして誠にありがとうございました。