コピー元のシートが複数のセルや図を参照していて、
新しいシートにコピーしたいです。
その際、図を画像、参照している値を値に変換してコピーする方法が知りたいです。
セルの位置や画像はそのままの位置にしたいです。
※その後エクセルファイルで保存したい。
↓試してみたコードです。
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を見た人はこんなQ&Aも見ています
-
「環境が人を育てる」って本当?環境によって人格や生き方は本当に変わるのか
環境が人生に与える影響は実際どれほどのものなのか、専門家の田宮由美さんに伺った。
-
数値から名前が作成できなくなっているッ!?
Excel(エクセル)
-
エクセルでビット1をカウント Javaには Integer.bitCount() というメソッドがあ
Excel(エクセル)
-
Excel表について(2)
Excel(エクセル)
-
-
4
Excelの共有ファイルについて質問です。
Excel(エクセル)
-
5
ExcelでA列をコピーしたいのですがコピー範囲内に空白セルがあるとそこで終わってしまいます。 全て
Excel(エクセル)
-
6
Excelのテーブルでmatch関数の使い方について
Excel(エクセル)
-
7
Excel 複数のセルが共に一致する場合にフラグを付ける方法
Excel(エクセル)
-
8
エクセルの表の参照値から円を取って数字で扱えるようにしたい
Excel(エクセル)
-
9
ExcelのVBAで、認識しない書式はありますか?
Excel(エクセル)
-
10
重複データを抽出する式の説明をお願いします。
Excel(エクセル)
-
11
エクセル関数について質問です。 希望日を該当者の各リストに記載して、最終的に項目の多い希望日のランク
Excel(エクセル)
-
12
得意先毎に商品の最新単価表を作成したく、質問です。 過去の売上履歴は、弥生会計からExcelに抽出し
Excel(エクセル)
-
13
エクセルで入力してある文を別の文に変更することはできますでしょうか。
Excel(エクセル)
-
14
データから単位文字を除去して計算する方法は?
Excel(エクセル)
-
15
Excel 書式のクリア・値貼付けをしても書式が変わらない
Excel(エクセル)
-
16
[条件付き書式]について、
Excel(エクセル)
-
17
エクセル 大量のシートから、指定したセルをコピーして、別のシートにまとめて貼り付ける
Excel(エクセル)
-
18
エクセルで有効桁数を確認する方法
Excel(エクセル)
-
19
エクセルで条件書式と数式の組み合わせはできる?
Excel(エクセル)
-
20
ユーザーフォームに別シートからデータを反映させたい。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで別シートの同じ位置...
-
エクセルの下部のシートタブの...
-
エクセルでセルの書式設定がで...
-
EXCELでコピーしたグラフのデー...
-
シート全体を他のブックのシー...
-
Excelで保護のかかったシートの...
-
ロックしたセルのコピー&貼り付け
-
ワークシートの行が途中から表...
-
エクセルで数式は残したまま他...
-
Excelで大量の2000個のリストを...
-
EXCELのマクロについて
-
VBA アクティブでないシートの...
-
Excelセルの書式設定ができない
-
エクセルでの複数シートへの同...
-
シート保護したExcelへの画像貼...
-
エクセルで打ち込んだ数字を自...
-
【エクセル】数式のセル番地を...
-
excelで勝手にテキストボックス...
-
エクセルファイルの容量が大き...
-
エクセル
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで別シートの同じ位置...
-
エクセルの下部のシートタブの...
-
エクセルでセルの書式設定がで...
-
EXCELでコピーしたグラフのデー...
-
ワークシートの行が途中から表...
-
シート全体を他のブックのシー...
-
ロックしたセルのコピー&貼り付け
-
Excelで大量の2000個のリストを...
-
excelで勝手にテキストボックス...
-
エクセルで数式は残したまま他...
-
Excelで保護のかかったシートの...
-
VBA アクティブでないシートの...
-
エクセルで打ち込んだ数字を自...
-
【エクセル】数式のセル番地を...
-
シート保護してても並び替えを...
-
エクセルで多数のシートをまと...
-
行の挿入ができなくなった
-
【エクセル】表から条件に合っ...
-
シート保護したExcelへの画像貼...
-
コピー&ペーストすると、VLOOK...
おすすめ情報