[[20250330190249]] 『「条件付き書式の書式のみ残す方法」[クリーナーax(こに) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) |

| 全文検索 | 過去ログ ]

 

『「条件付き書式の書式のみ残す方法」[クリーナー7] について』(こに)

投稿
[[20240618144747]] 『条件付き書式の書式のみ残す方法』(クリーナー7) 
について...
初めまして。VBA初心者です。私も条件付き書式で作成したシートに色と罫線を残したまま書式削除をしたかったのですが、罫線だけ残せませんでした。こちらでクリーナー7さんが同じ質問をされていたので拝見いたしましたが、そのまま貼り付けではダメなようで、恥ずかしいのですが質問させていただきます。
今現在このようになっており、

Sub Main()

    Dim rng As Range
    '条件付き書式が設定されているところは書式のみ残し条件付き書式を削除
    For Each rng In ActiveSheet.UsedRange.Cells
        ' DisplayFomatとFormatを比較して異なっていたらDisplayFomatの色に合わせる
        '文字色
        If rng.DisplayFormat.Font.Color <> rng.Font.Color Then
            rng.Font.Color = rng.DisplayFormat.Font.Color
        End If
        '太字
        If rng.DisplayFormat.Font.Bold <> rng.Font.Bold Then
            rng.Font.Bold = rng.DisplayFormat.Font.Bold
        End If
        '背景色
         If rng.DisplayFormat.Interior.Color <> rng.Interior.Color Then
            rng.Interior.Color = rng.DisplayFormat.Interior.Color
        End If
    Next
    ActiveSheet.UsedRange.FormatConditions.Delete        '条件付き書式を削除
End Sub

↑この続きにそのまま貼り付けるのが間違っているのだと思います。
すみませんが教えていただけないでしょうか・・・。
宜しくお願い致します。

< 使用 Excel:Excel2021、使用 OS:Windows11 >


リンク先にある、マナさんのコードで希望通りになると思います。
対象シートが「Sheet1」になっているので、必要に応じて変更する必要があります。

ご提示のコードのようにするなら、
Worksheets("Sheet1") となっている箇所を、ActiveSheet に変更です。
(ROM) 2025/03/30(日) 20:20:59


 別法として、
 For .... Nextの中に(´・ω・`)さんのコードを使って
    CopyBoder rng.DisplayFormat.Borders, rng.Borders
 のように挿入すればよいのではないですか?
(xyz) 2025/03/30(日) 20:40:25

(ROM)さん、(xyz)さん、お返事ありがとうございます!
今からさっそく挑戦します。

(こに) 2025/03/30(日) 22:08:59


出来ました!条件付き書式が貼りつかない事を知らずに必死に勉強して、最後に書式が外せなくて本当にがっかりしていたのですが、うれしいです。マイクロソフトコミュニティでも解決できなかったので本当に感謝しかありません、ありがとうございます!!
(こに) 2025/03/30(日) 22:39:25

コメント返信:

[ 一覧(最新更新順) ]


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