07. februar 2008 - 11:19Der er
18 kommentarer og 1 løsning
Centrerede celler og tekstbokse
Hej!
Jeg har en række værdier der er arrangeret i en kolonne. Kolonnen har en overskrift, der skifter fra tid til anden. Det er vigtigt at værdierne altid står midt under overskriften.
Nu er udfordringen at der skal være en ramme om denne mikrotabel. Rammen skal omkranse tallene men gå "bagved" overskriften.
---- Kort overskr. --- |........Tal.1.......| |........Tal.2.......| |........Tal.3.......| |........Tal.4.......| ----------------------
- Længere overskrift - |........Tal.1.......| |........Tal.2.......| |....Længere Tal 1...| |........Tal.4.......| ----------------------
Hvordan ville i foreslå jeg løser dette så tabellen automatisk tager den ønskede form når overskfiten og tallene ændrer sig?
Det tror jeg ikke du kan, men dobbelt klikker du på colonnens ende i toppen (der hvor man kan trække dem større eller mindre) så indstiller den sig automatisk til den længste værdi i kolonnen..
Så er det bare lige at centrere indholdet i cellerne..
altså hvis man har skrevet en lang tekststreng i A1 og dobbeltklikker mellem A og B kolonnerne, på den streg, så bliver celle A1 på størrelse med tekststrengen..
Hej tak for jeres ideer. Det er ikke helt hvad jeg mener. Det kan kortes ned til at tabellens øveste kant skal brydes af overskriften sådan her:
------- Overskfift ---------------------------
Samtidig kan jeg ikke bruge tricket med bare at dobbeltklikke på celleopdelingerne osv. da det skal være en 100% automatiseret proces. Når overskriften ændrer sig, så skal resten ske af sig selv.
Jeg ved godt den er svær men jeg tænkte det måtte kunne lade sig gøre med nogen makroer. Dem kan jeg bare ikke finde ud af programmere :S
Jeg tror du skal se efter et andet program. Det lyder ikke umiddelbart som en opgave for Excel. Det vanskelige er centreringen i forhold til overskriften, det endnu vanskeligere er stregen, hvis den som på din illustration skal være midt ud for teksten i overskriften. Excel har det bedst med streger på cellernes kanter. Alternativt skal du ud i at tagne en streg med tegningsværktøjslinien. Den vil til gengæld altid ligge oven på teksten i cellen, og så skal du ud i at tegne to streger, en på hver side af teksten, og det bliver meget vanskeliogt at automatisere, når teksten kan ændre sig hele tiden.
ikke desto mindre så kan man styre objekters længde, bredde og højde med makroer (så vidt jeg er orienteret) så det burde være muligt.
Grunden til jeg skal bruge Excel er, at regnearket udregner en lang række variable fra nogen tal hevet ind fra Access. Derefter sættes de i nogen tabeller som importeres automatisk over i Crystal Report der genererer rapporter. Der er tale om ca. 50-100 rapporter der skal laves på denne måde i år, og da der er tale om 40-50 tabeller og figurer per rapport er det vigtigt at finde en automatiseringsprocces.
Indtil videre har jeg løst det ved at lave en tekstbox med "automatisk" længde og hvid baggrund. Den sættes bare oven på linien i auto-figuren/boksen som omkranser de relevante tal - derefter tilpasser den sig selv længden og det kommer dermed til at se ud som om at linierne i boksen auto-justeres.
Problemet er at tallene under overskriften altid står det samme sted og ikke flytter sig sammen med den ovenstående overskrift.
Jeg forestillede mig at det var muligt med en makro at styre de underliggende tekstbokses længde til at være lig med "auto"-boksen med overskriften. Er det ikke muligt?
Prøv med denne. Den forventer at den teksboks, der skal bestemme bredden på de andre, er den første i arke (altså Shapes(1)):
Sub TilpasTekstbokse() ActiveSheet.Shapes(1).Select a = Selection.Width For i = 2 To ActiveSheet.Shapes.Count ActiveSheet.Shapes(i).Select Selection.Width = a Next i End Sub
tak! kan man tilpasse din makro så ActiveSheet.Shapes(1).Select ændres til at vælge en shape med et bestemt navn, så tror jeg nemlig vi er liiiige ved at være der
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.