0

条件付き書式情報を保存して後で復元する方法はありますか? セルを選択したら、1/対応する列/行のフォーマットをいくつかの配列に保存します 2/対応する列/行のフォーマットを削除します 3/列/行のInteriorColorを適切なものに変更します(十字線) 4/ 別のセルを選択すると、元の列/行の書式設定を復元し、現在選択されているセルに対して 1/ からプロセスを繰り返します。

私は何かを試しました

Public condFmt1 As FormatCondition
Set condFmt1 = Range("A1").FormatConditions.Item(1)
...
Set Range("A2").FormatConditions.Item(1) = condFmt1

ただし、最後の行で実行時エラー 438 - オブジェクトはこのプロパティまたはメソッドをサポートしています。私はおそらく間違って割り当てています。

4

2 に答える 2

1

Excel 2007 以降を使用していると仮定すると、非 VBA ソリューションでも目標を達成できます。

  1. ワークシート/ワークブックの空のセルをトリガー セルとして使用し、それを に設定しTRUEます。便宜上、このセルDisableConditionalFormattingまたは類似の名前を付けます。
  2. ワークシートのアクティブな領域を選択し (Ctrl-A)、新しいルールを挿入します -> 数式を使用して、書式設定するセルを決定します。フォーミュラセットとして=DisableConditionalFormatting。ここでフォーマットを変更する必要はありません。
  3. Stop if true新しいルールを設定したら、条件付き書式ルール マネージャーのチェックボックスを必ず選択してください。

いいえ、セルを変更することで、ワークシートの条件付き書式のオンとオフを切り替えることができますDisableConditionalFormatting

于 2013-01-04T14:39:14.923 に答える
1

1 時間試した後、VBA で FormatCondition 値を使用する方法を見つけました。

このコードは、「A1」範囲の条件付き書式をコピーします。これは値がTRUE

Sub CopyFormatCondition()

    Dim fC As FormatCondition
    Set fC = Range("A1").FormatConditions.Item(1)

    Range("A2").FormatConditions.Add Type:=xlCellValue, Operator:=fC.Operator, Formula1:=fC.Formula1
    Range("A2").FormatConditions.Item(1).Font.Bold = fC.Font.Bold

End Sub

Typeなどの一部のプロパティは、FormatCondition の初期化時OperatorFormula1設定する必要があるため、範囲の FormatConditions コレクションに FormatCondition を追加する必要がありました。

他のプロパティ ( Fontおよび などInterior) は、FormatCondition の初期化後に設定できます。

于 2013-01-04T09:55:45.867 に答える