Avatar billede cstern Nybegynder
01. april 2001 - 21:06 Der 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.
Avatar billede cstern Nybegynder
01. april 2001 - 21:16 #1
en demo af regnearket i sin nuværende udformning kan downloades fra
http://www.stagesternberg.dk/exp/demo.zip
Avatar billede altinet Nybegynder
02. april 2001 - 08:07 #2
Hej cstern,

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.

:-) Lars / Altinet
Avatar billede altinet Nybegynder
02. april 2001 - 08:08 #3
Ovenstående skulle selvfølgelig have været et svar. :-) Lars
Avatar billede cstern Nybegynder
02. april 2001 - 09:19 #4
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?
Avatar billede altinet Nybegynder
02. april 2001 - 09:30 #5
Jeg kigger..

:-) Lars
Avatar billede altinet Nybegynder
02. april 2001 - 10:13 #6
Med udgangspunkt i C4 i eksemplet:

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)

højreklik - indsæt speciel

vælg \"Formater\"

tryk OK

Og se så Voila..
Avatar billede cstern Nybegynder
02. april 2001 - 10:35 #7
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å.
Avatar billede cstern Nybegynder
02. april 2001 - 10:43 #8
Jeg fandt ud af det:
=OG(($I$1>$F4); ($D4 <> 1))
Smukt er det ikke men det virker...
Avatar billede cstern Nybegynder
02. april 2001 - 10:43 #9
Har du forresten den korresponderende VBA kode? Ren nysgerrighed.
Avatar billede altinet Nybegynder
02. april 2001 - 10:54 #10
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.

:-) Lars
Avatar billede cstern Nybegynder
02. april 2001 - 11:13 #11
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.
Avatar billede altinet Nybegynder
02. april 2001 - 11:25 #12
OK
:-)
Lars
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
Kurser inden for grundlæggende programmering

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