Avatar billede ulrikhjul Nybegynder
29. januar 2006 - 02:14 Der er 13 kommentarer og
2 løsninger

Fjern fave i celler ved ændring.

Hej.
Jeg har lavet en faktura skabelon, og givet de felter der skal udfyldes en gul baggrundsfarve.

Denne gule farve skal helst ikke med på udskriften.

Kan man lave betinget formattering på et et helt område?
Og kan det ske ved at man bare har haft et af felterne markeret?

....Eller kan man bare gøre så farven ikke er med på udskriften?

VH Ulrik Andersen
Avatar billede jens48 Ekspert
29. januar 2006 - 02:56 #1
Du kan vælge sort/hvid på udskriften, så kommer farven ikke med
Avatar billede brynil Nybegynder
29. januar 2006 - 09:22 #2
Denne fjerner farven når cellen har været besøgt:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Interior.ColorIndex = 6 Then
        Target.Interior.ColorIndex = xlNone
    End If
End Sub


Denne fjerner også farven, men kun hvis der er en værdi i cellen:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Interior.ColorIndex = 6 And Target.Value <> "" Then
        Target.Interior.ColorIndex = xlNone
    End If
End Sub
Avatar billede ulrikhjul Nybegynder
29. januar 2006 - 18:37 #3
-> Jens48 - Men kan man gøre så den som standard ikke tager farven med, og alligevel gør det i andre programmer og andre ark?

-> brynil - Ja, det er i nærheden af det jeg skal bruge, men problemet er så, at man skal "besøge" alle 30 celler i feltet for at de alle ændrer farve. Og når man skriver fakturaen, kan det jo godt være, at der f.eks. kun er een vare linie..... Forstår du hvad jeg mener?

VH Ulrik
Avatar billede brynil Nybegynder
29. januar 2006 - 18:44 #4
Du kan evt. definere det aktuelle område som fx. 'faktura' og så bruge denne:

Sub FjernFarver()
  Range("faktura").Interior.ColorIndex = xlNone
End Sub

Den kan placeres forskellige steder. Fx. hvis du har din egen printfunktion eller når en bestemt celle har en værdi.
Avatar billede brynil Nybegynder
29. januar 2006 - 18:47 #5
Den viker vist herfra:

Private Sub Workbook_BeforePrint(Cancel As Boolean)
  Range("faktura").Interior.ColorIndex = xlNone
End Sub
Avatar billede brynil Nybegynder
29. januar 2006 - 18:52 #6
Hvis du har andre farver i din faktura som du vil bevare, kan du vælge de enkelte celler med Ctrl inden du definerer området (skriv navnet på området i tekstboksen yderst til venstre umiddelbart over regnearket og tryk Enter).
Avatar billede jens48 Ekspert
29. januar 2006 - 23:47 #7
Når man i udprintning vælger sort/hvid sker det kun for det ark det er valgt for
Avatar billede ulrikhjul Nybegynder
30. januar 2006 - 00:52 #8
-> brynil - jeg er sikker på at det er lige den funktion jeg havde tænkt jeg skulle bruge, men jeg kan ikke få den til at virke....

-> jens 48 - Dit forslag fungerer derimod som det skal.

Jeg vil gerne give jer begge lidt point, da jeg tror at begge dele er en løsning.

Såee.. smid et svar - og tak for hjælpen
Avatar billede ulrikhjul Nybegynder
30. januar 2006 - 01:43 #9
Ok - så løber jeg i et nyt problem....

Jeg har et felt, hvor skriftfarven er hvid - netop for at det ikke skal komme med på udsktriften, men når jeg sætter udskriftsindstillinger til at udskrive sort/hvid, så bliver teksten i det felt alligevel sort...?!

Hvad gør jeg så?

VH - Ulrik
Avatar billede brynil Nybegynder
30. januar 2006 - 08:39 #10
Hvad er det mere præcist der ikke virker ? At vælge område ?
Avatar billede jens48 Ekspert
30. januar 2006 - 10:29 #11
Jeg kender ingen metode til at undgå at hvid tekst kommer ud på den sort/hvide udprintning. Kan den flyttes udenfor print-området?
Avatar billede ulrikhjul Nybegynder
30. januar 2006 - 17:15 #12
-> brynil - måske er det min måde at sætte det ind i koden på? - det med at vælge område og give det et navn kan jeg godt....
Kan du evt. give mig en udførlig forklaring på hvor det skal ind henne - jeg er helt nybegynder i vba...

-> jens48 - tjaa.... hvis jeg flytter feltet udenfor udskriftsområdet så skriver den jo bare flere sider ud...

VH Ulrik
Avatar billede brynil Nybegynder
30. januar 2006 - 17:21 #13
Når du står i arket, tryk Alt+F11 for at komme til VBA-editoren.

Til venstre ser du projektvinduet (ellers tryk Ctrl+R)

Dobbeltklik på This Workbook og derefter i rullegardinet for oven til højre finder du BeforePrint.

Tilføj linien i midten herunder til koden så den ser ud som herunder:

Private Sub Workbook_BeforePrint(Cancel As Boolean)
  Range("faktura").Interior.ColorIndex = xlNone
End Sub

Vær opmærksom på, hvis du har flere Workbooks åbne, at du vælger den rigtige.
Avatar billede ulrikhjul Nybegynder
30. januar 2006 - 23:47 #14
-> brynil - så virker det...
Jeg havde forgæves forsøgt at sætte det ind i både arkets kode, og modul1 + modul2 etc.... men ikke i workbook :-)

Men tak for hjælpen - smider du et svar?

Venlig hilsen Ulrik
Avatar billede brynil Nybegynder
31. januar 2006 - 00:09 #15
Det var herligt. Takker!
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
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

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