
こんにちは、画像のように左のブックから、右の別のブックに枠線と値を転記しています。
ここまでは問題なく動作しているのですが、コピー元のセルに一部背景色がついています。
ペースト先では値しか存在しないため、条件付き書式を再設定するのは合理的ではない為、コピー元で付いた背景色も同時に移植する方法はありますか?
ちなみに動作しているコードは以下のようなものです。
既に正常動作していますので、これを流用して実現できればと思います。
詳しい方、よろしくお願いいたします。
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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) vbaのエラー対応(実行時エラー7:メモリが不足しています) 4 2023/04/24 00:20
- Visual Basic(VBA) VBAが止まります。 1 2022/09/02 14:51
- Visual Basic(VBA) エクセル VBA 難しいです 1 2023/02/21 15:39
- Visual Basic(VBA) 2つ目のコンボボックスが動作しません。 3 2023/03/25 12:29
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Visual Basic(VBA) VBAが止まります。 2 2022/09/02 14:02
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
- Visual Basic(VBA) エクセルVBA(実行時エラー438)の対処法を教えてもらえないでしょうか 3 2023/04/22 13:43
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
首吊りどこ締めるの
-
彼女のことが好きすぎて彼女の...
-
尿検査前日に自慰行為した時の...
-
風俗店へ行く前のご飯
-
至急!尿検査前日にオナニーし...
-
EXCELで式からグラフを描くには?
-
検便についてです。 便は取れた...
-
尿検査の前日は自慰控えたほう...
-
血液検査の結果が悪くefgrの値...
-
納豆食べた後の尿の納豆臭は何故?
-
値が入っているときだけ計算結...
-
精子に血が・・・
-
イタリアから帰国する際、肉製...
-
勃起する時って痛いんですか? ...
-
2つの数値のうち、数値が小さい...
-
リンク先のファイルを開かなく...
-
VLOOKUP関数を使用時、検索する...
-
Excel 数値の前の「 ' 」を一括...
-
EXCELで条件付き書式で空白セル...
-
腕を見たら黄色くなってる部分...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
首吊りどこ締めるの
-
尿検査前日に自慰行為した時の...
-
至急!尿検査前日にオナニーし...
-
検便についてです。 便は取れた...
-
彼女のことが好きすぎて彼女の...
-
値が入っているときだけ計算結...
-
リンク先のファイルを開かなく...
-
EXCELで条件付き書式で空白セル...
-
2つの数値のうち、数値が小さい...
-
VLOOKUP関数を使用時、検索する...
-
尿検査の前日は自慰控えたほう...
-
MIN関数で空白セルを無視したい...
-
小数点以下を繰り上げたものを...
-
風俗店へ行く前のご飯
-
エクセルで空白セルを含む列の...
-
Excel 数値の前の「 ' 」を一括...
-
【Excelで「正弦波」のグラフを...
-
納豆食べた後の尿の納豆臭は何故?
-
EXCELで式からグラフを描くには?
-
ある範囲のセルから任意の値を...
おすすめ情報
失礼しました、元の背景色は条件付き書式にて設定された背景色です。