/ Forside/ Teknologi / Administrative / MS-Office / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
MS-Office
#NavnPoint
sion 18709
refi 14474
Klaudi 9389
Rosco40 5695
berpox 5456
dk 5398
webnoob 4919
Benjamin... 4870
o.v.n. 4637
10  EXTERMINA.. 4373
Excel formatering af celler
Fra : hryttel
Vist : 2128 gange
500 point
Dato : 15-03-08 09:15

Hej,

Jeg kunne tænke mig at give fx. A1 den samme farve som B1 afhængig af værdien de bliver udfyldt i B1
kolonne A fyldes med navne af medarbejdere
kolonne B skrives navnet af medarbejderens supervisor som der er 6 af og ± 10 medarbejdere.
hvordan gør jeg det med VBA vil jeg tro men hvordan?

Henning (fra Holland) 8<

 
 
Kommentar
Fra : Eyvind


Dato : 15-03-08 09:17

Du skal bruge betinget formatering.
Formatér < betinget formatering.

Kommentar
Fra : Fijala


Dato : 15-03-08 09:59

Alt afhængig af din Excel version så er det som Eyvind siger bare lidt på forskellige måder

Kommentar
Fra : hryttel


Dato : 15-03-08 11:31

Jeg bruger Office 2003 Hollandsk version. jeg skrev at der var 10 medarbejdere der skulle stå 100.

Eksembel:
Kolonne A B
1 Jan Henning
2 Ole Peter
3 Kirsten Henning
4 Grethe Lulu
6 Kim Lulu
7 Sven Peter
8 Ove Ries
9 Sven H Mark
Henning = gul
Peter = blå
Lulu = grøn
Mark = lyseblå
Thessa = lilla
Ries = rød

A1 og A3 har Henning som supervisor d.v.s. at når jeg udfylder B1 og B3 med Henning skal A1, B1, A3 og B3 blive gul.

Mvh,
Henning

Kommentar
Fra : Eyvind


Dato : 15-03-08 11:55

Jeg har ikke office på denne comp. -så efter hukommelsen.


stå i A1 > format > betinget format > og så mener jeg der skal stå B1= Henning og i format skal du pege på en farve
Som jeg husker det kan der laves flere betingelser med flere farver.

Jeg vender tilbage når jeg har en office comp kørende igen.


Kommentar
Fra : hryttel


Dato : 15-03-08 12:12

Hej Eyvind,

Der har de ret i, men der har jeg kun 3 muligheder.
Se her hvad jeg mener.
http://Billedeupload.dk/showpic-989.jpg

Mvh,

Henning




Kommentar
Fra : Fijala


Dato : 15-03-08 12:16

Du har mange flere farver hvis du under Betinget formatering klikker ind i Formater - Mønstre

Kommentar
Fra : hryttel


Dato : 15-03-08 12:27

Hej Fijala,

Det drejer sig ikke så meget om farverne, i excel 2003 har du kun 3 betinget formater, men mere om at jeg har 6 supervisor hvor jeg for hver bruger en egen farve.
D.v.s. at, tror jeg, jeg er nødt til at bruge VBA

Mvh,
Henning

Kommentar
Fra : Fijala


Dato : 15-03-08 12:32

Nu sidder jeg og leger i Excel 2007 og der er der utallige muligheder.

Kommentar
Fra : Fijala


Dato : 15-03-08 12:34

Ok det kan jeg godt se. Var lige ovre på min kones pc og hun kører så Office XP.

I Oficce 2007 kan du selv oprette nye regler hvor hvad der skal ske

Kommentar
Fra : Eyvind


Dato : 15-03-08 12:54

OK jeg har office 2000 nu - men tænker lige lidt for det er ikke helt som jeg huskede.


Kommentar
Fra : Eyvind


Dato : 15-03-08 13:43

Sådan kan det laves i office 2000
http://peecee.dk/upload/view/103792

Måske kan du bruge det.

Kommentar
Fra : Eyvind


Dato : 15-03-08 13:52

Denne er nemmere at se
http://peecee.dk/upload/view/103795

Kommentar
Fra : Eyvind


Dato : 15-03-08 13:59

Hvis du vil have jensen/olsen/pedersen til at få samme farve:
format > betinget format > [celleværdien er]......[ lig med]......[jensen] > formater osv

Kommentar
Fra : hryttel


Dato : 15-03-08 14:19

Eyvind,

Det er tydeligt det du viser mig her.
Det jeg har brug for er at, hvis jeg har en navneliste ± 100 navne, kolonne A og jeg skriver fx mit navn i kolonne B (supervisor), cellerne i både A&B får den samme farve. Se eksemplet her: http://Billedeupload.dk/showpic-989.jpg

Henning

Kommentar
Fra : Eyvind


Dato : 15-03-08 14:38

Ja og det har jeg lavet til dig. Spørg hvis du ikke forstår hvad jeg har lavet.

Kommentar
Fra : Eyvind


Dato : 15-03-08 14:57

Sådan laves B kolonnen
http://peecee.dk/upload/view/103812

husk at du med det sorte kryds kan trække "formlen" ned over rækkerne.

Kommentar
Fra : hryttel


Dato : 15-03-08 15:30

Eyvind,
Som du kan se her har jeg gjort som du kar skrevet. http://Billedeupload.dk/showpic-994.jpg
Men som do også kan se er de ikke helt hvad jeg vil.
Kolonne B bliver ikke farvet. Og jeg mangler de andre 3 supervisor.

Mvh,
Henning



Kommentar
Fra : hryttel


Dato : 15-03-08 16:04

Eyvind,
Jeg har nu brugt 2 forskellige betinget format. den første (du viste) for kolonne A og den anden til kolonne B.
Det virker.... Men jeg har kun 3 navne, farve mulighedder.

Mvh,
Henning


Kommentar
Fra : Eyvind


Dato : 15-03-08 16:36

Ok jeg leger lidt med noget makro...........pussigt at jeg lige afprøvede med kun 3 stk.

Kommentar
Fra : IPAA


Dato : 01-05-08 19:58

Prøv f. eks. med denne rutine:

Sub sammenavn()
Dim color, names As Variant
color = Array(1, 4, 5, 8, 9, 13)
names = Array("Henning", "Larsen", "Petersen", "Olsen", "Nielsen", "Fogh")
For Each n In Range(Selection.Columns(1).Address)
If InStr(n.Value, n.Offset(0, 1).Value) <> 0 Then
c = color(Application.WorksheetFunction.Match(n.Offset(0, 1).Value, names, 0))
n.Offset(0, 1).Interior.ColorIndex = c
End If
Next
End Sub

Kommentar
Fra : hryttel


Dato : 02-05-08 07:19

Hej IPAA,

Desværre virker det ikke eller jeg gø noget forkert.
Hvis du sender mig en e-mail kan jeg sende dig filen, så du jo se om jeg har gjort noget forkert.

Mvh,
Henning


Kommentar
Fra : IPAA


Dato : 02-05-08 13:15

Rutinen virker sådan, at når du skriver navnene (strenge) med både fornavn efternavn etc. i én kolonne og så skriver efternavnet (eller hvad du vil checke på om er indeholdt i den første streng), så vil rutinen når du markerer (selection) begge kolonner skifte farve på de celler (efternavne) der er indeholdt i strengene i den første kolonne - svarende til farvekoderne i matricen color/matricen names. Læs: hvis et af efternavnene i anden kolonne er indeholdt i strengen i første kolonne udfører rutinen et opslag, som oversætter navnet til en farvekode og ændrer farve på pågældende celle. Henning= farve 1, Larsen=farve 4, Petersen=farve 5 etc..
Nå, jeg har vist misforstået dig lidt.
Det bliver det bare enklere af.
Forstår jeg dig ret, skal cellen i første kolonne bare have en farve svarende
til navnet på den supervisor, der står i anden kolonne (?)
Hvis dette er korrekt, så prøv med denne udgave i stedet:

Sub supervisorcolor()
Dim color, names As Variant
color = Array(1, 4, 5, 8, 9, 13)
names = Array("Henning", "Larsen", "Petersen", "Olsen", "Nielsen", "Fogh")
For Each n In Range(Selection.Columns(1).Address)
'If InStr(n.Value, n.Offset(0, 1).Value) <> 0 Then
c = color(Application.WorksheetFunction.Match(n.Offset(0, 1).Value, names, 0) - 1)
n.Interior.ColorIndex = c
n.Offset(0, 1).Interior.ColorIndex = c
'End If
Next
End Sub

Markerer du nu begge kolonner og kører makroen, vil den skifte farve på cellerne i begge kolonner svarende til farve for det supervisornavn, der står i cellen i anden kolonne. (Jvnf. ovennævnte).
Dvs. du skal i rutinen blot tilpasse matricerne names og color, så de svarer til de supervisorer med respektive farver, du har.
Du må eksperimentere lidt eller finde de respektive farvers koder.
Der var en mindre fejl i rutine som jeg har rettet.
Se billedet her:
Kode
http://billedeupload.dk/showpic-1810.jpg




Kommentar
Fra : IPAA


Dato : 02-05-08 13:17

Undskyld, har ikke lige prøvet dette før:

http://billedeupload.dk/showpic-1810.jpg

Kommentar
Fra : hryttel


Dato : 03-05-08 08:49

Hej IPAA,

Nu kører den.
Er det muligt alt lave rutinen så den kører når du springer til en ny linje? fx. med enter?
ps jeg får få fejl melding 400 og nå jeg så vil kontrollere ser jeg den første linje i rutinen bliver gul og der står en pil i begyndelsen.

Sub supervisorcolor() <== teksten her bliver gul !!!!!!!!!!!!!!
Dim color, names As Variant
color = Array(37, 34, 35, 38, 39, 33)
names = Array("Henning", "Larsen", "Petersen", "Olsen", "Nielsen", "Fogh")
For Each n In Range(Selection.Columns(1).Address)
'If InStr(n.Value, n.Offset(0, 1).Value) <> 0 Then
c = color(Application.WorksheetFunction.Match(n.Offset(0, 1).Value, names, 0) - 1)
n.Interior.ColorIndex = c
n.Offset(0, 1).Interior.ColorIndex = c
'End If
Next
End Sub

Mvh,
Henning


Accepteret svar
Fra : IPAA

Modtaget 500 point
Dato : 03-05-08 09:52

Hej Henning

Hvis du får fejlmeddelelsen 400 er det sandsynligvis fordi, du på en eller anden måde indexerer matricen for højt eller skriver en supervisor, der ikke er i names-matricen.
I eksemplet består matricerne af 6 elementer hver og så vidt jeg husker er indekset 0-5. Derfor trak jeg 1 fra
Hvis du f. eks. forsøger at bruge color(7) vil du få en fejl af denne type (overløb), men også hvis supervisornavnet ikke findes i listen.
Du bliver nødt til at sikre dig, at matricerne er korrekte også at de kun indeholder farvenumre, som Excel anvender f. eks..
Der er mulighed for at aktivere en makro ved f. eks. ændring af arket, men jeg forsøger at undgå makroer af denne type, da de kan være lidt tunge at danse med, da de skal scanne for en ændring hele tiden og ikke kun aktiveres når du kører makroen.
Hvis du vil bruge dette er du også nødt til at ændre selection af området i makroen, da du jo så ikke gør dette manuelt længere.
Inde i VB-makro vinduet vælger du (general):
Workbook
og under (declarations):
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
'Skriv selve makroen her'
End Sub
Det burde kunne lade sig gøre (?).


Godkendelse af svar
Fra : hryttel


Dato : 04-05-08 15:14

Tak for svaret IPAA.
Jeg har fået den til at køre. Nu skal jeg bare side og lege med resten jeg vil have lavet.
Mit spørgsmål besvaret godt!

Mvh,
Henning

Du har følgende muligheder
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.

Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
Søg
Reklame
Statistik
Spørgsmål : 177580
Tips : 31968
Nyheder : 719565
Indlæg : 6409081
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste