
こんにちは、画像のように左のブックから、右の別のブックに枠線と値を転記しています。
ここまでは問題なく動作しているのですが、コピー元のセルに一部背景色がついています。
ペースト先では値しか存在しないため、条件付き書式を再設定するのは合理的ではない為、コピー元で付いた背景色も同時に移植する方法はありますか?
ちなみに動作しているコードは以下のようなものです。
既に正常動作していますので、これを流用して実現できればと思います。
詳しい方、よろしくお願いいたします。
Sub CopyToNewbook()
Dim lastRow As Long
Dim wb As Workbook
Dim ws As Worksheet
Dim sourceRange As Range
Dim destRange As Range
'Get the last used row in column BP
lastRow = ActiveSheet.Cells(Rows.Count, "BP").End(xlUp).Row
'Set the source range from U3 to BP last row
Set sourceRange = Range("U3:BP" & lastRow)
'Open the Asahi Shimoitozu Mirror.xlsm file
Set wb = Workbooks.Open("C:\Users\〇〇〇\Documents\Newbook.xlsm")
'Set the destination range in the first sheet of the opened workbook to match the size of the source range
Set ws = wb.Sheets(1)
Set destRange = ws.Range("A1").Resize(sourceRange.Rows.Count, sourceRange.Columns.Count)
'Copy the values and formatting from the source range to the destination range
sourceRange.Copy
destRange.PasteSpecial xlPasteValuesAndNumberFormats
destRange.PasteSpecial xlPasteFormats
'Auto-fit the columns in the destination range
destRange.EntireColumn.AutoFit
'Activate the destination workbook and save it
wb.Activate
wb.Save
End Sub

No.1ベストアンサー
- 回答日時:
こんにちは
セルの表示されている色(=条件付き書式の結果も含めて)は
Cell.DisplayFormat.Interior.Color
で取得することが可能です。
Cell1の表示色をCell2の背景色として設定するには、
Cell2.Interior.Color = Cell1.DisplayFormat.Interior.Color
とすることで可能です。
ただし、値とは異なり、セル範囲でまとめて取得するようなことはできませんので、範囲内の個々のセルをループして転記することが必要になります。
※ 余談ながら、DisplayFormat はユーザー定義関数では利用できませんのでご注意ください。
https://learn.microsoft.com/ja-jp/office/vba/api …
No.2
- 回答日時:
コピー元の背景色をコピー先に移植するには、コピー先に背景色を設定する必要があります。
以下は、コピー元の背景色を取得し、コピー先に設定する方法です。既存のコードに追加することができます。'Set the source range from U3 to BP last row Set sourceRange = Range("U3:BP" & lastRow)
'Copy the values, formatting, and background color from the source range to the destination range sourceRange.Copy destRange.PasteSpecial xlPasteValuesAndNumberFormats destRange.PasteSpecial xlPasteFormats For Each cell In sourceRange destRange.Cells(cell.Row - 2, cell.Column - 20).Interior.Color = cell.Interior.Color Next cell
'Auto-fit the columns in the destination range destRange.EntireColumn.AutoFit
'Activate the destination workbook and save it wb.Activate wb.Save
このコードは、コピー元のセルの背景色を取得し、その色をコピー先の対応するセルに設定します。また、既存のコードと同様に、値と書式もコピーするために、xlPasteValuesAndNumberFormatsとxlPasteFormatsを使用しています。
回答ありがとうございます。
ChatGPTで調べたコードを正しいかどうかもわからないのに回答するのはやめて下さい。
そういうのやらないほうが良いですよ、信用無くすんで。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
Excel2000/VBA:値と書式のみ貼り付けたい。
Excel(エクセル)
-
エクセルでマクロにてセル色と文字を他シートのセルへコピーしたい
その他(コンピューター・テクノロジー)
-
WorkBooksをオープンさせずにシートにコピーしたい【EXCEL VBA】
Excel(エクセル)
-
-
4
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
5
Excel VBAで、複数のシートのセルの列幅を一度に変更する方法は??
Excel(エクセル)
-
6
vba 条件付き書式を一般書式に書き換えたい
Excel(エクセル)
-
7
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
8
VBAで転記すると元のシートの条件付き書式が消えてしまいます。
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
首吊りどこ締めるの
-
血液検査報告書の「弱乳び」
-
検便についてです。 便は取れた...
-
彼女のことが好きすぎて彼女の...
-
2つの数値のうち、数値が小さい...
-
血液検査の結果が悪くefgrの値...
-
風俗店へ行く前のご飯
-
病院側から早く来てくださいと...
-
小数点以下を繰り上げたものを...
-
excel関数で TRUEやFALSEについて
-
検査結果について電話連絡って...
-
値が入っているときだけ計算結...
-
勃起する時って痛いんですか? ...
-
テスターで断線を調べる方法教...
-
男性に質問 お尻の穴を見せた...
-
検便を取ったのですが、棒から...
-
Excel条件付書式(残業45時間以...
-
MIN関数で空白セルを無視したい...
-
急いでます!病院から患者様へ...
-
Excel 0目標に対して数字があ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
首吊りどこ締めるの
-
アトピー性皮膚炎
-
コロナになるのが死ぬほど怖い...
-
検便についてです。 便は取れた...
-
24歳、女性です。性欲が強すぎ...
-
未成年の従姉妹が自分の真似絵...
-
頭痛に関する質問です。現在高...
-
血液検査の結果が悪くefgrの値...
-
肝臓がんになりたいです。肝機...
-
何故 削除され続けるか、
-
◎敢えてノンジャンルカテゴリー...
-
彼女のことが好きすぎて彼女の...
-
腕を見たら黄色くなってる部分...
-
風俗店へ行く前のご飯
-
2つの数値のうち、数値が小さい...
-
病院側から早く来てくださいと...
-
EXCELで条件付き書式で空白セル...
-
Excel 数値の前の「 ' 」を一括...
-
リンク先のファイルを開かなく...
-
値が入っているときだけ計算結...
おすすめ情報
失礼しました、元の背景色は条件付き書式にて設定された背景色です。