Avatar billede olsen205 Nybegynder
02. marts 2006 - 10:56 Der er 12 kommentarer og
1 løsning

VBA: Gør negavite værdier røde

Jeg har et range hvor jeg gerne vil have alle negative værdier markeret med rødt.
Jeg har lavet følgende:

b = [c5].CurrentRegion

For Each c In b
    If c < 0 Then
    c.Font.ColorIndex = 3
    Else
    [c5].Font.ColorIndex = 1
    End If
Next

i stedet for at farve [c5] skal den ændre farven for den aktuelle celle. Forslag som er mere effektive modtages ligeledes.
Avatar billede dragonknight Juniormester
02. marts 2006 - 11:05 #1
Er det ikke nemmere at anvende betinget formatering i selve excel ?
Avatar billede dragonknight Juniormester
02. marts 2006 - 11:07 #2
menu punkt Formater > Betinget formatering
Avatar billede olsen205 Nybegynder
02. marts 2006 - 11:13 #3
Det er et regneark som bliver opbygget ved tryk på en knap fra ERP systemet, data vil ikke altid stå ens. Datamængden er stor.

Så jeg kan ikke opsætte betinget formatering således at den vil virke.
Avatar billede dragonknight Juniormester
02. marts 2006 - 11:16 #4
Heller ikke hvis du gemmer et tomt regneark som en skabelon, hvor der er betinget formatering i alle celler, og det er så dette ark, som du kalder med knappen ?
Avatar billede olsen205 Nybegynder
02. marts 2006 - 11:42 #5
Nej, placeringen af de celler som skal formateres er ikke altid den samme. Vi meget gerne have løsningen i VBA.
Avatar billede dragonknight Juniormester
02. marts 2006 - 11:46 #6
Er det ikke ligegyldig hvis alle celler i arket er betinget formateret, så er du jo dækket ind ?
Avatar billede bak Forsker
02. marts 2006 - 11:51 #7
Dim b As Range
Dim c As Range
Set b = ActiveCell.CurrentRegion

For Each c In b
    If c < 0 Then
    c.Font.ColorIndex = 3
    Else
    c.Font.ColorIndex = 1
    End If
Next
Avatar billede olsen205 Nybegynder
02. marts 2006 - 12:01 #8
dragonknight --> Ikke vis der forekommer andre tal som ikke skal indeholdes i betingelsen.

bak --> Virker som det skal, har prøvet samme løsning men havde bare glemt Dim as range.
Takker, smid et svar.
Avatar billede bak Forsker
02. marts 2006 - 13:23 #9
ok :-)
Avatar billede olsen205 Nybegynder
02. marts 2006 - 13:56 #10
Skal bruge et svar...
Avatar billede bak Forsker
02. marts 2006 - 20:00 #11
ohhh, kommer her :-)
Avatar billede bak Forsker
03. marts 2006 - 00:11 #12
Hvis det er så store datamængder så er det her et noget hurtigere alternativ

Sub Formater()
  ActiveCell.CurrentRegion.NumberFormat = "General;[Red]-General;[Blue]General"
End Sub
Avatar billede olsen205 Nybegynder
03. marts 2006 - 10:26 #13
Tak for de yderlige kommentarer.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester