Exclure première ligne (c'est la ligne n ° 1 dans ma feuille) à partir de USEDRANGE méthode?

J'ai quelques données d'entrée à partir de mon courtier.
J'ai écrit un code pour automatiser les calculs, l'ajout de colonnes et de l'insertion de certaines formules.

En fin de compte, je veux faire la mise en forme conditionnelle (affectant l'ensemble des lignes) afin de déterminer les opérations qui sont rentables (vert ensemble de la ligne) et des opérations qui sont perdus (police rouge toute la ligne).

Pour ce faire, j'ai utilisé USEDRANGE méthode - je sais que c'est une question difficile, par mes données sont cohérentes - il n'y a pas de lignes vides, seulement quelques colonnes vides, donc je pense que USEDRANGE va la traiter. J'ai besoin d'utiliser USEDRANGE parce que je vais avoir plus de lignes la prochaine fois, je vais exécuter ce rapport.

Mais j'ai dans mes données de la première ligne, où je garde les en-têtes 4 de mes colonnes.

Je veux que mes en-têtes noire (de la police), mais j'ai encore envie d'utiliser USEDRANGE méthode.

Exclure première ligne (c'est la ligne n ° 1 dans ma feuille) à partir de USEDRANGE méthode?

Comment puis-je exécuter ma mise en forme conditionnelle à l'aide de USEDRANGE méthode, à l'exclusion de la première rangée (de sorte qu'il reste noir, la police).

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
  • Je vous suggère de ne pas utiliser .UsedRange et explicitement TotalRange. .UsedRange peut causer des maux de tête.
  • Tout d'abord, je voudrais faire Redimensionner. Et ensuite seulement de Décalage. Sinon, l'erreur 1004 est possible.