ここから本文です

エクセルのシートをVBAでコピーしたら、式がリンクされてしまい、VBAでリンクを切...

tom********さん

2011/7/312:13:01

エクセルのシートをVBAでコピーしたら、式がリンクされてしまい、VBAでリンクを切るために、値をコピーするようにしたのですが、
セルの結合などがあるのでバラバラに書かないとエラーになります。

(セルの結合のあるところを範囲指定しても、エクセル2002では、エラーになりませんでしたが、2003では、
この操作には同じ範囲が必要ですとかなんとか、のエラーになります。)

沢山あるので、こんな書き方になってしまうのですが、もっと簡単に書ける良い方法はないですか。

Range("E8").Select
Selection.Copy
Range("E8").Select
Call 値コピー

Range("E15").Select
Selection.Copy
Range("E15").Select
Call 値コピー

Range("E19").Select
Selection.Copy
Range("E19").Select
Call 値コピー

Range("E31").Select
Selection.Copy
Range("E31").Select
Call 値コピー

Range("E32").Select
Selection.Copy
Range("E32").Select
Call 値コピー



ちなみに、Call 値コピーの先には、

Sub 値コピー()
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub

と書いてあります。

閲覧数:
16,140
回答数:
3
お礼:
100枚

違反報告

ベストアンサーに選ばれた回答

zik********さん

2011/7/312:56:35

コピーして値にするより、2003ならリンクを解除できます。解除するとリンクがかかっている数式は自動的に全て値になります。

「編集」⇒「リンクの設定」⇒「リンクの解除」をマクロ記録してみてください。

下記のようなコードが出来上がります。下記はアクティブブックの「Cドライブの元ファイル」へのリンクを解除しています。

それに1行エラー回避(On Error Resume Next)を付け足してます。そもそもリンクがないとマクロ自体がエラーになる為です。



Sub Macro1()

On Error Resume Next

ActiveWorkbook.BreakLink Name:="C:\元ファイル.xls", Type:=xlExcelLinks

End Sub

質問した人からのコメント

2011/7/3 13:04:43

そういう手があったんですね。考えも付きませんでした。ありがとうございます。
別の方法は考えずに書き方ばかり考えてました。もう歳なので頭が固すぎます。
originalblueさん もありがとうございます。2002ですと、おっしゃる通りで何のエラーも出ませんでしたが、2003でやってみたら、ところどころにセルの結合をしているセルが点在するとエラーが出てしまうようです。

ベストアンサー以外の回答

1〜2件/2件中

並び替え:回答日時の
新しい順
|古い順

kei********さん

2011/7/313:04:15

tomoojiisanさん

セルの結合の範囲が分かんないけど、
任意のセルの数式を「値」にするなら単純に、、
Range("E8").Value = Range("E8").Value
Range("E15").Value = Range("E15").Value
Range("E19").Value = Range("E19").Value
Range("E31").Value = Range("E31").Value
Range("E32").Value = Range("E32").Value
規則性があれば、もっと簡単になりますが…。

ori********さん

2011/7/312:47:38

シート全体をコピーして値のみ貼り付けじゃダメなんですか?

Cells.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

あわせて知りたい

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる