01. april 2001 - 21:06Der er
11 kommentarer og 1 løsning
VBA Excel let spørgsmål
Jeg har ikke en dyt forstand på VBA for Excel. Dette spm er derfor sikkert meget simpelt:
Jeg har et regneark der holder styr på mine debitorer (kunder der skylder mig penge). Jeg vil gerne have det sådan at hvis en bestemt dato overskrides (fakturaens forfaldsdato) kan jeg farvelægge den celler eller celler der indeholder info om den pågældende faktura (sådan at teksten f.eks. bliver rød og baggrunden gul eller sådan).
Så spørgsmålet er altså: Hvordan kan jeg sætte en makro eller lignende på en enkelt celle så den ændrer farve afhængig af hvad værdien er i en anden celle?
Regnearket skal være selvopdaterende så cellerne automatisk opdateres når det åbnes
(jeg har det lige nu sådan at jeg har en celle med værdien =Now() som bliver sammenlignet med forfaldsdato og hvis den er overskredet bliver fakturabeløbet lagt til saldoen \"forfalden saldo\")
Hvis der er behov for uddybning, så sig endelig til.
Start med at markere den/de celle(r) der skal have en betinget formattering. Vælg menuen \"formatér\" og derefter menupunktet der hedder \"Betinget formattering\". Dette åbner en dialog, hvor du kan sætte op til 3 betingelser for formattering. Således kan man f.eks. sætte et negativt tal til rød baggrundsfarve etc.
Dialogen er stort set selvforklarende, men pointen er, at man kan sammenligne med enten en fast værdi direkte indtastet i dialogen, eller med en værdi fra en anden celle udpeget via dialogen.
Dit svar er i og for sig OK. Problemet er bare at jeg vil sammenligne værdierne i to andre celler end den aktuelle for at angive markeringen. I det aktuelle eksempel (hvis du har downloadet det) skal værdien af F4 være større end I1 for at C4 skal blive \"rød\". Derudover skal D4 være 0 (ikke betalt). Kan du greje den?
Marker celle C4 Vælg formater - betinget formattering I første valgbox vælger du \"Formlen er\" I det inputfelt der kommer frem i højre side skriver du: =$I$1>F4 (Den betingede formattering skal kun bruges hvis det absolutte datofelt (\"Nu\") er større end forfaldsdato.)
!!! Det er vigtigt at \"F4\" ikke skrives som absolut ref. !!!
Vælg formattering, f.eks. rød baggrund på knappen \"Formater...\"
tryk OK
Marker celle C4
højreklik - kopier
Marker øvrige celler i kolonne C, som skal have betinget formattering (i eksemplet: C5 til C31)
Almost there.. Det fungerer fint, jeg har dog rettet til =($I$1>$F4) så jeg kan bruge det i flere kolonner. Nu er det sidste spørgsmål hvordan jeg kan kombinere to betingelser. Jeg har prøvet: =(($I$1>$F4) & ($D4 <> 1)) men det fungerer ikke. Begge betingelser skal være opfyldt samtidigt så derfor kan jeg ikke bare smække endnu en separat betingelse på.
Jeg har kun brugt den indbyggede \"formater\" funktion, så jeg kan ikke vise dig koden.
Vær opmærksom på, at hvis du retter til absolut ref, så skal du håndrette i hver enkelt linie. Ellers bruger alle linier de samme data som udgangspunkt. D.v.s. Kunde 17 får \"rød\" fordi kunde 1 er bagud (hvis det er kunde 1 du har kopieret fra)
Jeg vil tro et er lettere at lave en formel for hver kolonne hvor det skal bruges, og så til gengæld kopiere som jeg beskrev til alle rækkerne i en kolonne.
det skulle $-tegnene jo sørge for sker/ikke sker (der er ikke $ foran \"4\" så det vil pege på aktuel linie). Derimod forsvinder f.eks. Dato format ved kopieringsmetoden, så man må alligevel tilrette lidt. Men mit problem er løst. Tak for hjælpen.
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.