0

条件に応じて範囲に条件付き書式を追加したい。

色、サイズ、太字などのプロパティをフォーマットしたい。Color、Boldプロパティを変更できますが、Sizeプロパティを変更しようとすると、「FontクラスのSizeプロパティを設定できません」という例外がスローされます。

条件付き書式オブジェクトのSizeプロパティを設定する方法を教えてもらえますか?

下付き文字または上付き文字のプロパティも設定できません。

注:これらのプロパティも読み取り専用ではありません。

            FormatCondition format =(FormatCondition)( targetSheet.get_Range("A1:A10",
            Type.Missing).FormatConditions.Add(XlFormatConditionType.xlExpression, XlFormatConditionOperator.xlGreater,
            "100", Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing));

            format.Font.Bold = true;
            format.Font.Color = 0x000000FF;
            format.Font.Size = 14;
            format.Font.Subscript = true;

実際のユースケースを明確にするために、Excelで10*10のデータがある例を見てみましょう。この10*10は、独自の形式を持つ単一の範囲です。たとえば、A1からJ10の場合。ここで、この範囲のセルを選択すると、対応する行と列が条件付き書式を取得し、独自の書式が設定されます。これには、異なる塗りつぶし色、異なるフォントサイズ、境界線の変更などが含まれます。たとえば、セルD4を選択すると、範囲A4:J4とD1:D10に条件付き書式が適用されます。これは、これらの両方の範囲に書式を適用して選択することで実行できます。式として入力し、その式をtrueとして入力します。他のセルを選択すると、A4:J4セルとD1:D10セルの形式が元に戻り、現在選択されているセルの行と列が強調表示されます。

色や柄などのフォーマットを変更することができます。ただし、サイズを設定することはできません。なぜそうなのか、誰か説明してもらえますか?ユーザーインターフェイスからサイズを変更することが可能です。つまり、条件付き書式の[書式]オプションを使用します。これを使用して、条件を満たすセルのフォントサイズや色などを変更できます。

UIから可能なことは、コードからも可能である必要があります。

ビューを取得するために画像を共有してください:http://imgur.com/bemI9

4

2 に答える 2

0

私の調査によると、「条件付き書式ではフォントを変更できません」。

私はVBAでそのようにします:

For Each cell In Range("A1:A10")
    With cell
          .Font.Bold = true
          .Font.Color = 0x000000FF
          .Font.Size = 14
    End With
Next 
于 2012-07-27T06:15:57.603 に答える
0

以下を試してください (色の値を変更し、フォント サイズ、色などのプロパティを追加できます)。

Dim fontSize As Variant
Dim fontType As Variant
Dim fontBold As Variant
Dim cellIn As Variant

Sub setVars()

    With Range("A1")
        fontSize = .Font.Size
        fontType = .Font.Name
        fontBold = .Font.Bold
        cellIn = .Interior.Color
    End With


End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    Application.ScreenUpdating = False
    Application.EnableEvents = False

    Dim r As Range
    Set r = Range("A1:J10")

    With r
        .Font.Size = fontSize
        .Font.Name = fontType
        .Font.Bold = fontBold
        .Interior.Color = cellIn
    End With

    With r.Rows(Target.Row)
        .Interior.ColorIndex = 5
        .Font.Bold = True
    End With

    With r.Columns(Target.Column)
        .Interior.ColorIndex = 5
        .Font.Bold = True
    End With

    Application.ScreenUpdating = True
    Application.EnableEvents = True

End Sub
于 2012-07-30T15:57:36.133 に答える