web-dev-qa-db-ja.com

Excel-条件付き書式のコピー、ルールの削除、書式の保持

私はあなたが通常あなたが質問で試したことを示すことを知っています、しかしこれはもっと「あなたはこれをする良いルーチンを持っていますか?」です。質問と私はあなたがそれをスライドさせてくれることを望んでいます...

ソースワークシートで条件付きでフォーマットされたセルをコピーして出力シートに貼り付けるマクロに取り組んでいます。基本的に、すべての書式設定、陰影などを保持したいと考えていますが、出力シートのすべての条件を削除します(現在の書式設定を静的にします)。

私はオンラインでいくつかの解決策を見てきました-最初にWord文書にコピーしてから貼り付けることから、出力セルをループしてフォーマット要素ごとにフォーマット要素をコピーすることまで-そしてただ良い、効率的な方法を探していますこれを行う。

誰かが共有したいと思う1つ/良いリンクを持っていますか?

(Excel 2010)

ありがとう!!!!

9
John Bustos

はい、可能です:) DisplayFormatを模倣して、条件付き書式を削除することにより、コピーする予定のセルの書式を変更する必要があります。

Sub Keep_Format()
    Dim ws As Worksheet
    Dim mySel As Range, aCell As Range

    '~~> Change this to the relevant sheet
    Set ws = ThisWorkbook.Sheets("Sheet1")
    '~~> Change this to the relevant range
    Set mySel = ws.Range("A1:A10")

    For Each aCell In mySel
        With aCell
          .Font.FontStyle = .DisplayFormat.Font.FontStyle
          .Interior.Color = .DisplayFormat.Interior.Color
          .Font.Strikethrough = .DisplayFormat.Font.Strikethrough
        End With
    Next aCell

    mySel.FormatConditions.Delete

    '
    '~~> Now Do the copying
    '

    '~~> Once you are done, close the sorce worksheet without saving
End Sub
16
Siddharth Rout

私はOfficeクリップボードでそれを持っていると思います:範囲をコピーし、Officeクリップボードペイン([ホーム]タブの下の[クリップボード]セクションの右下隅にある小さなボタン)を開き、そこから貼り付けます。

これがデモです: http://www.bookkempt.com/2017/08/remove-conditional-formatting-but-keep.html

4