我从我的经纪人那里得到了一些输入数据。 我编写了一些代码来自动计算,添加列并插入一些公式。
最终,我想要进行一些有条件的格式设置(影响整行),以确定盈利交易(绿色字体整行)和亏损交易(红色字体整行)。
为此,我使用了USEDRANGE方法-我知道这是一个棘手的问题,但我的数据是一致的-没有空行,只有少数空列,因此我认为USEDRANGE可以处理它。 我需要使用USEDRANGE方法,因为下次运行此报告时将有更多行。
但是,在我的数据中,第一行是我保留列标题的地方。
我希望我的标题保持黑色(字体),但我仍然想使用USEDRANGE方法。
如何使用USEDRANGE方法执行我的条件格式设置,排除第一行(以便它保持黑色字体)。
Option Explicit
Dim RowNumber As Long
Dim LastRow As Long
Dim ColumnNumber As Integer
Dim LastColumn As Integer
Dim VBA As Worksheet
Dim TotalRange As Range
Sub CondicionalFormating_WholeRows()
Set VBA = Workbooks("lista transakcji Dukascopy od October 2015.xlsm").Worksheets("VBA")
Set TotalRange = VBA.UsedRange
LastRow = VBA.Cells(Rows.Count, 1).End(xlUp).Row
LastColumn = VBA.Cells(1, Columns.Count).End(xlToLeft).Column
TotalRange.FormatConditions.Add Type:=xlExpression, Formula1:="=$H1<0"
TotalRange.FormatConditions(TotalRange.FormatConditions.Count).SetFirstPriority
With TotalRange.FormatConditions(1).Font
.Bold = False
.Italic = False
.Strikethrough = False
.Color = -16777024
.TintAndShade = 0
End With
TotalRange.FormatConditions(1).StopIfTrue = False
TotalRange.FormatConditions.Add Type:=xlExpression, Formula1:="=$H1>0"
TotalRange.FormatConditions(TotalRange.FormatConditions.Count).SetFirstPriority
With TotalRange.FormatConditions(1).Font
.Bold = False
.Italic = False
.Strikethrough = False
.ThemeColor = xlThemeColorAccent6
.TintAndShade = -0.499984740745262
End With
TotalRange.FormatConditions(1).StopIfTrue = False
' VBA.Range(Cells(1, 1), Cells(LastRow, LastColumn)).Select
End Sub
.UsedRange
,而是明确设置TotalRange
。.UsedRange
可能会引起麻烦。 - Kyle