ブローカーからの入力データがあります。 計算を自動化したり、列を追加したり、数式を挿入するためのコードを書いています。USEDRANGEメソッドから最初の行(シートの1行目)を除外しますか?
最後に、収益性の高いトランザクション(緑色のフォント全体の行)と失われたトランザクション(赤色のフォント全体の行)を判断するために、条件付き書式設定(行全体に影響を及ぼす)を行いたいとします。
これを行うにはUSEDRANGEメソッドを使用しました。データが一貫しているため、トリッキーな方法があります。空の行はなく、空の列はほとんどないので、USEDRANGEが処理すると思います。次回はこのレポートを実行するために行が増えるため、USEDRANGEを使用する必要があります。
しかし、私は自分のデータにヘッダー4の列を保持する最初の行を持っています。
私はヘッダーを黒色(フォント)にしておきたいが、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