
コピー元のシートが複数のセルや図を参照していて、
新しいシートにコピーしたいです。
その際、図を画像、参照している値を値に変換してコピーする方法が知りたいです。
セルの位置や画像はそのままの位置にしたいです。
※その後エクセルファイルで保存したい。
↓試してみたコードです。
Sub MakeNewFile()
' 新しいExcelファイルを作成
Dim NewFile As Workbook
Set NewFile = Workbooks.Add
' OriginalFileのシートを指定
Dim OriginalFile As Worksheet
Set OriginalFile = ThisWorkbook.Sheets("test")
' TargetFileのシートを指定
Dim TargetFile As Worksheet
Set TargetFile = NewFile.Sheets(1)
' シートをコピー
OriginalFile.Copy Before:=TargetFile
' 新しいファイルを保存(ファイルパスを変更してください)
NewFile.SaveAs "C:\********新しいファイル名.xlsx"
' 新しいファイルを閉じる(保存する場合はコメントアウトを外してください)
' NewFile.Close
End Sub

A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
こんにちは
添付なさった画像はほとんど識別できないので、ご質問の文章のみからの回答になりますが・・・
>その際、図を画像、参照している値を値に変換してコピーする方法が知りたいです。
ご提示の方法で、セルのサイズや書式はコピーできていると思います。
「参照している値を値に変換してコピーする」というのは関数式等が設定されているセルの値を全て固定値に変えるということと解釈しました。
こちらは簡単で、各セルの「値を代入」することで実現できます。
シート全体をまとめて行うなら、
コピー先シート.Cells.Value = コピー元シート.Cells.Value
の一文で処理できます。
「図を画像にする」のは、全ての図なのか一部の図なのかによって異なりますが、こちらはまとめて処理はできませんので、各図形(=Shape)を順に処理することになります。
以下は、仮に全部の図形を画像にして再コピーするとして・・
1)コピー先シートの図形を一旦全て削除します
2)コピー元のシートの図形(コピー元シート.Shapes)について順にループ
2-1)対象Shape.CopyPicture
で、図形を画像化できますので、これをコピー先にペースト
2-2)コピー元の図形位置に合わせて、ペーストした画像を配置
(.Left、.Topを設定すれば良いです)
とすることで可能と思います。
※ 画像化されるので、テキストボックス等も編集できなくなりますのでご注意。
※ 画像化するものとしたくないものが存在する場合は、条件分岐などで処理を分ければよいでしょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの下部のシートタブの...
-
エクセルで別シートの同じ位置...
-
EXCELでコピーしたグラフのデー...
-
エクセルでセルの書式設定がで...
-
【マクロ】【画像あり】4つの...
-
シート保護したExcelへの画像貼...
-
エクセルで数式は残したまま他...
-
ワークシートの行が途中から表...
-
シート全体を他のブックのシー...
-
excelで勝手にテキストボックス...
-
【エクセル】表から条件に合っ...
-
エクセルで打ち込んだ数字を自...
-
VBAで差し込みシート作成はでき...
-
Excelで保護のかかったシートの...
-
コピー&ペーストすると、VLOOK...
-
フィルタされたものを切り取り...
-
EXCELで 異なるシートのセルを...
-
エクセルの「入力後に移動する...
-
Excel VBA 指定セルに入力され...
-
VBAで新しいエクセルファイルに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルの下部のシートタブの...
-
エクセルで別シートの同じ位置...
-
ワークシートの行が途中から表...
-
シート全体を他のブックのシー...
-
Excelで保護のかかったシートの...
-
EXCELでコピーしたグラフのデー...
-
エクセルで数式は残したまま他...
-
エクセルでセルの書式設定がで...
-
【マクロ】【画像あり】4つの...
-
VBA アクティブでないシートの...
-
シート保護してても並び替えを...
-
ロックしたセルのコピー&貼り付け
-
Excelで大量の2000個のリストを...
-
excelで勝手にテキストボックス...
-
シート保護したExcelへの画像貼...
-
フィルタされたものを切り取り...
-
エクセルで多数のシートをまと...
-
スプレッドシートが真っ白にな...
-
【エクセル】表から条件に合っ...
-
Excelでハイパーリンク先の表示...
おすすめ情報