コピー元のシートが複数のセルや図を参照していて、
新しいシートにコピーしたいです。
その際、図を画像、参照している値を値に変換してコピーする方法が知りたいです。
セルの位置や画像はそのままの位置にしたいです。
※その後エクセルファイルで保存したい。
↓試してみたコードです。
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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 貼り付けた値が消えていく 以下はソースファイルの2番目のシートのB6から最終行を取得 ターゲットファ 2 2023/07/27 12:23
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/05/24 08:33
- Visual Basic(VBA) 一つのフォルダーに50個のエクセルファイルがあります。 各ファイルにはAとBのシートがあります。 5 2 2023/10/03 16:25
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
- Visual Basic(VBA) 3個のfileのセルデータを1個のfileのセルに貼り付けるVBAコードですが。 1 2023/02/20 09:21
- Excel(エクセル) エクセルのマクロについて教えてください。 3 2023/02/07 14:47
- Visual Basic(VBA) セルの値からファイルを複数作りたい2 3 2022/10/07 15:54
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Visual Basic(VBA) VBAが止まります。 2 2022/09/02 14:02
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・【選手権お題その3】この画像で一言【大喜利】
- ・【お題】逆襲の桃太郎
- ・自分独自の健康法はある?
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・ちょっと先の未来クイズ第6問
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで別シートの同じ位置...
-
ワークシートの行が途中から表...
-
エクセルの下部のシートタブの...
-
エクセルでセルの書式設定がで...
-
ロックしたセルのコピー&貼り付け
-
EXCELでコピーしたグラフのデー...
-
シート全体を他のブックのシー...
-
【エクセル】表から条件に合っ...
-
エクセルで数式は残したまま他...
-
Excelで保護のかかったシートの...
-
シート保護してても並び替えを...
-
wordからexcelへ一部のデータを...
-
【エクセル】数式のセル番地を...
-
行の挿入ができなくなった
-
excelで勝手にテキストボックス...
-
VBA アクティブでないシートの...
-
エクセルで、シート1のセルをシ...
-
フィルタされたものを切り取り...
-
エクセルVBA シートの保護につ...
-
Excelで大量の2000個のリストを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで別シートの同じ位置...
-
エクセルの下部のシートタブの...
-
エクセルでセルの書式設定がで...
-
シート全体を他のブックのシー...
-
EXCELでコピーしたグラフのデー...
-
ワークシートの行が途中から表...
-
エクセルで数式は残したまま他...
-
ロックしたセルのコピー&貼り付け
-
Excelで保護のかかったシートの...
-
VBA アクティブでないシートの...
-
excelで勝手にテキストボックス...
-
Excelで大量の2000個のリストを...
-
【エクセル】表から条件に合っ...
-
行の挿入ができなくなった
-
シート保護してても並び替えを...
-
【エクセル】数式のセル番地を...
-
Excelでハイパーリンク先の表示...
-
エクセルのマクロでコピー後の...
-
シート保護したExcelへの画像貼...
-
スプレッドシートが真っ白にな...
おすすめ情報