Voorwaardelijk opmaak met IsFout vs IsError

Status
Niet open voor verdere reacties.

mcs51mc

Gebruiker
Lid geworden
19 feb 2008
Berichten
386
Hallo,

Ik zou graag de tekst van de cellen die een fout bevatten (#N/B, ... ...) een witte kleur geven zodanig dat deze onzichtbaar worden.

Ik dacht de klus te klaren met volgende code, maar het lukt mij niet :(
Code:
            'Afronden, range een naam geven en opmaak
            With .Range(.Range("A1").Offset(lngRowOffset, lngColOffset), .Range("A1").Offset(lngRowOffset + .Range("rngBin").Count - 1, lngColOffset))
                .NumberFormat = "0.000"
                .Name = "rngY" & CStr(MyParameter) & "_F" & Zeroes(CStr(i), 3)
                
                'Conditional formatting werkt blijkbaar enkel op een selectie niet op een opgegeven range ??!!??
                'Tweede probleem is de taal IsFout werkt op Excel NL, IsError niet !!!!
                .Select
'                Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=IsFout(H3)"
'                Selection.FormatConditions(1).Font.ColorIndex = 2
                
                Selection.FormatConditions.Add Type:=xlExpression, Formula1R1C1:="=IsFoutR[" & CStr(lngRowOffset) & "]C[" & CStr(lngColOffset) & "]"
                Selection.FormatConditions(1).Font.ColorIndex = 2
            End With

Mijn probleem is tweevoudig:
1) In de formule moet een vaste cel komen, vb H3 maar mij range staat de ene keer inderdaad in H3 maar de volgende keer in T3 en de zoveelste keer in BG12635, om maar iets te zeggen. Vraag: hoe maak ik de range in de formule variabel?
Ik dacht dit op te lossen via RC referentie maar de voorwaardelijke opmaak moet daar niets van weten :evil:


2) Op een NL Excel werkt de formule "Formula1:="=IsFout(H3)" maar niet de formule "Formula1:="=IsError(H3)" :evil:
Hoe maak je dan code die uitwisselbaar is tussen zowel NL als UK Excel?


Alvast bedankt voor een reactie... ...
 
Heb je het al geprobeerd met
Code:
.FormulaLocal = "=IsFout(H3)"
 
Zonder middels VBA plaatsen van voorwaardelijke opmaak maar meteen de fouten een andere font-kleur geven:

Code:
Sub EvR()
With Cells.SpecialCells(xlCellTypeFormulas, xlErrors)
    .Font.ColorIndex = 2
End With
End Sub
 
Het probleem van de opmaak heb ik met volgende code opgelost (slechts deeltje uit volledige routine)
Code:
            'Alle cellen met een error een witte font geven
            For Each c In .Range(strRangeName)
                With c
                     .FormatConditions.Delete
                     .FormatConditions.Add Type:=xlExpression, Formula1:="=IsError(" & c.Address & ")"
                     .FormatConditions(1).Font.ColorIndex = colWhite
                End With
            Next c

Het taalprobleem komt op beide taal versies niet meer voor met deze code.
Let wel dat ik eerst ontwikkelde op de NL versie en problemen had bij overbrengen naar de UK versie. Echter na wat aanpassingen in de code, waaronder wat hierboven staat, op de UK versie bleek die code te werken op beide taal versies.
Vraag mij niet waarom maar ik heb geen probleem meer :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan