我想根据某些条件在范围上添加条件格式。
我想格式化颜色,大小,粗体等属性。我能够修改颜色,粗体属性,但是当我尝试修改Size属性时,它会抛出异常“无法设置Font类的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是一个具有自己格式的Range。对于E.g A1至J10。现在,如果我选择此范围内的任何单元格,则其对应的行和列应获得条件格式,并且它将具有自己的格式。这包括不同的填充颜色,不同的字体大小,边框的变化等。例如,如果我选择单元格D4然后范围A4:J4和D1:D10将应用条件格式。这可以通过在这两个范围上应用格式并选择键入表达式,其公式为true。现在,如果我选择任何其他单元格,则应该恢复A4:J4和D1:D10单元格的格式,并且应突出显示当前所选单元格的行和列。
我们可以更改格式,例如颜色或图案。但它不可能设置大小。任何人都可以解释我为什么会如此。 可以从用户界面更改大小。即使用条件格式的格式选项。使用它可以改变满足条件的单元格的字体大小,颜色等。
也可以通过代码从UI中获得可能的东西。
分享图片以获取视图:http://imgur.com/bemI9
答案 0 :(得分:0)
我的研究表示:“您无法在条件格式中更改字体”。
我会在VBA中这样做:
For Each cell In Range("A1:A10")
With cell
.Font.Bold = true
.Font.Color = 0x000000FF
.Font.Size = 14
End With
Next
答案 1 :(得分: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