[[20200908143340]] 『条件付き書式?マクロ?どれが最適でしょうか』(さくら) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『条件付き書式?マクロ?どれが最適でしょうか』(さくら)

すいません、初心者のためご教示いただけると幸いです。

条件付き書式で、別シートのリストに該当のある文字が含まれるセルの色が赤くなるように設定されているシートがあります。
このシートを別ブックにコピーしたいのですが、copyを使って別ブックにコピーすると、条件付き書式で赤くなっていたセルも、白く戻ってしまいます。

赤くなっているセルをそのまま赤いままコピーする方法はありませんでしょうか?
そもそもの段階で、条件付き書式ではなくてマクロで色を変える手段などを講じるべきなのでしょうか?

< 使用 Excel:Excel2010、使用 OS:Windows7 >


 クリップボード経由でコピペすれば書式と値がコピーできるので
 シートコピーして条件付き書式の色が消えたシートを作り
 元のシートから一旦別のところに値と書式だけ貼り付けてそこからさらにコピーで
 目的のシートに書式だけ貼りつける、とか?

 マクロでできるならその方がいいですかね。
(コナミ) 2020/09/08(火) 14:46

 参照先を含まず、結果シートだけをコピーする場合は、数式を値にするように
 書式を静的に変更した方が良いかと思います。
 ただ、本当にセルに色がつくことになるので、更新されることはなくなりますが。

 現在選択しているシートを、コピーしてセル色と値を静的にコピーするマクロです。
 Sub CopySheetWithCColorAndExpValue()
    Dim srcWS As Worksheet
    Dim dstWS As Worksheet

    '// 現在のシートをコピー
    Set srcWS = ActiveSheet
    srcWS.Copy

    Set dstWS = ActiveSheet

    '// コピーシートの条件付き書式を削除
    dstWS.Cells.FormatConditions.Delete

    For Each c In srcWS.UsedRange
        With dstWS.Range(c.AddressLocal)
            '// コピーシートにコピー元の値を設定
            .Value = c.Value
            '// コピーシートにコピー元の条件付き書式の結果の色を設定
            .Interior.Color = c.DisplayFormat.Interior.Color
        End With
    Next
 End Sub

 セルの結合がある場合はうまく動かないかもしれませんので、その際は対応が必要かもしれません。
 それから条件付き書式のアイコンも未対応です。
(QS) 2020/09/08(火) 15:02

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.