Print side | Luk vindue

Kopiere knapper

Udskrevet fra: Dansk Regneark Forum
Kategori: Hjælp til regneark.
Forum navn: Makro og VBA
Forum beskrivelse: Hjælp til Makroer og VBA-programmering
Web-adresse: https://forum.excel-regneark.dk/forum_posts.asp?TID=636
Udskrevet den: 18.Maj.2024 kl. 18:12


Emne: Kopiere knapper
Besked fra: Bladsgaard
Emne: Kopiere knapper
Posteringsdato: 02.Feb.2012 kl. 16:10
Hej,
 
Jeg bruger Excel 2010 (Engelsk).
Jeg er relativ nybegynder mht. makroer, form control og activex, VB osv.
 
Jeg har et regneark, der er udført som en projektplan.
1. celle i hver række (Kolonne A) indeholder et emne, og hver af de efterfølgende kolonner indeholder forskellige projektfaser fra start til slut.
 
For hver fase (kolonne) - ud for hvert emne (række) - vil jeg gerne kunne lave det sådan, at når man klikker i hver individuelle celle ud for et emne, så skifter den farve, alt efter den tilhørende projektfasens tilstand (cellen cykler gennem flere farver for hvert tryk - f.eks. rød/gul/grøn/grå).
 
Meningen er, at det skal være hurtigt for brugerne af arket, at angive projektfasernes status (klikke frem for at formatere hver celle individuelt).
 
Jeg tænker, at denne løsning vil være mere elegant/intuitiv frem for "Conditional Formatting", der vil kræve, at man indtaster en specifik værdi i hver celle.
 
Jeg forestiller mig, at man indsætter en knap i hver celle, og benytter en makro til at skifte farve på knappen, hver gang der bliver klikket på den.
 
Jeg har fundet ud af at lave et activex script, der virker korrekt på den første knap, men jeg har ikke kunnet finde ud af, hvordan jeg kan kopiere funktionen til yderligere knapper, uden at skulle tilpasse koden individuelt til hver knap (hvilket vil tage meget lang tid, da jeg har brug for adskillige (100+) knapper).
 
Kan nogen herinde hjælpe mig med dette - eller komme med input til, hvordan jeg mest hensigtsmæssigt kan få indbygget den beskrevne funktionalitet i mit dokument?
 
På forhånd tak for hjælpen
Bo



Svar:
Besked fra: PI
Posteringsdato: 02.Feb.2012 kl. 17:18
Hej Bo!
 
Det lyder som om du skal ind i Formater - Betinget formatering. Her kan du sætte betingelserne for hvornår og hvilke farver cellerne skal have. Jeg bruger DK-2003, hvorfor du selv må oversætte benævnelserne.
 
 
 


-------------
Mvh. PI / Excel 2010


Besked fra: excelent
Posteringsdato: 02.Feb.2012 kl. 22:00
fx.
 
uploads/248/Mark.xls" rel="nofollow - uploads/248/Mark.xls


Besked fra: Bladsgaard
Posteringsdato: 03.Feb.2012 kl. 10:20
Hej,
 
Mange tak for input!
 
PI:
Som jeg skriver i min indledende mail, så vil jeg gerne undgå Betinget Formattering/Conditional Formatting, da det vil betyde, at brugerne aktivt skal skrive en værdi i hver eneste celle, for at formatteringen kan fungere.
Det er en brugbar løsning, som jeg kan falde tilbage på, hvis det ikke kan lade sig gøre at lave noget mere elegant.
 
Jeg vil gerne have en løsning, hvor brugerne blot klikker på en celle, og så skifter den farve (eller brugeren kan vælge en farve).
 
excelent:
Det tog mig lige lidt at finde ud af, hvordan man gør - man dobbeltklikker på en celle, og får en pop-up, hvor man kan vælge mellem 4 farver.
Umiddelbart sker der dog ikke noget, når man klikker på en farve...
Jeg fandt dog ud af, at fordi man har dobbeltklikket, har man aktiveret den pågældende celle, og så længe den er aktiveret, kan man ikke farve den.
Hvis man klikker på en anden celle og så på den første igen, kan man nu vælge en farve, som var det, jeg ønskede.
Kan det lade sig gøre at forenkle processen, så man ikke skal klikke frem og tilbage mellem celler for hvert valg af farve?
 
Et andet (begynder-)spørgsmål: Hvordan bærer jeg mig ad med at kopiere funktionen over i et andet regneark?
Jeg kan i VB kun lokalisere en kode bestående af 5 linier, men så vidt jeg kan se, er det ikke her at pop-up vinduet bliver konfigureret? 
 
Bo


Besked fra: excelent
Posteringsdato: 03.Feb.2012 kl. 11:19
Hej Bo
At din celle bliver aktiveret (edit-mode) ved dobbeltklik skyldes formentlig din muse-opsætning
ved ikke om det er muligt at justere på i Excel, det virker fint her i mit ark.
Du kan evt løse problemet med følgende linie i koden som ligger i Arkets kodemodul
(Højreklik på arkfane, vælg Vis programkode) så kommer du ind i arkets kodemodul
Indsæt følgende linie som nr 2 linie
ActiveCell.Offset(0, 1).Select: ActiveCell.Offset(0, -1).Select
men som sagt prøv at rette problemet via museopsætning.
 
Hvis du ikke selv vil lave Userform + kode i dit nye projekt, så følg denne anvisning :
1. Åben min fil, tast ALT+F11, Hvis du ikke kan se Userform1 i vindue til venstre, skal du vælge
  menuen Wiew/Project Explore
2 Marker Userform1 og vælg menuen File/Export File..., klik dig frem til en placering.. fx skrivebord og Gem
3. Luk fil, Åben dit projekt og tast ALT+F11, Vælg menuen File/Import File..., klik dig frem til den gemte fil
   (Userform1) og vælg Åben
4. Nu skulle du gerne kunne finde Userform1 i vinduet øverst til venstre, dobbeltklik på den og dobbeltklik
   på en af knapperne (rød grøn....) så vises koden.
 
OBS ovenstående gælder for Excel 2003 som jeg kører med, det kan være forskelle i 2010 versionen.


Besked fra: Bladsgaard
Posteringsdato: 03.Feb.2012 kl. 13:43
Tusind tak, nu har jeg fået det til at virke!¨
 
Jeg slog direkte editering af celler fra i "Options" menuen, så nu åbner cellerne ikke længere ved dobbeltklik.
 
Et sidste spørgsmål dog: Hvor editerer jeg overskriften i userform-pop-up vinduet? - den skal gerne være på engelsk...


Besked fra: excelent
Posteringsdato: 03.Feb.2012 kl. 16:11
I VBA editoren (ALT+F11) skal du have Properties vinduet synligt
  (menuen View/Properties window)
Vælg Userform1 i dropdown menuen
I feltet Caption retter/sletter du teksten "Vælg farve"


Besked fra: Bladsgaard
Posteringsdato: 06.Feb.2012 kl. 13:00
Mange tak for hjælpen - det var lige, hvad jeg skulle bruge!
 
Bo



Print side | Luk vindue