15. maj 2001 - 23:26Der er
3 kommentarer og 3 løsninger
Begrænsning på antal karaktere i celle.
Jeg skal udarbejde en skabelon til et bogføringsbilag i excel. Jeg har brug for at lave en begræsning på antal karaktere i en celle (Max. 30 karaktere). Hvordan gør jeg det smartest?.Lave en kolonnebredde der med en bestemt skrifttype passe med nøjagtig 30 karaktere? Eller måske lave en makro der fortæller under selve indtastningen hvor mange karaktere man har indtastet?. Jeg ønsker ikke at benytte datavalidering da meddelse om overskridelse af antal karaktere først fremkommer efter selve indtastningen. Jeg håber I har nogle gode forslag.
Datavalidering ville være mit bedste bud, men den vil du jo ikke bruge. Det stærke ved datavalideringen er netop, at den ikke accepterer indtastningen før valideringen er gyldig.
Jeg tror det bliver vanskeligt at lave en makro, som allerede under indtastningen i den enkelte celle tæller antallet af karakterer. De makro-hændelser, som umiddelbart er tilgængelige, træder først i kraft når du har \"afleveret\" indtastningen i cellen.
Jeg er enig med Jan i, at de makro-hændelser, som er tilgængelige for en celle også først træder i kraft, når du afleverer hele celleindholdet = trykker på Enter. Det er derfor ligegyldigt, om du laver en makro eller om du bruger datavalidering. Jeg ville også vælge datavalidering i dette tilfælde, specielt hvis jeg har flere celler hvor dette skal gælde.
Her er et lille eksembel på en makro, som du kan teste op i mod datavalidering.
Private Sub Worksheet_Change(ByVal Target As Range) Dim rCell As Range Set rCell = Range(\"A1\")
If Intersect(Target, rCell) Then If Len(rCell) > 30 Then rCell = Left(rcell, 30) MsgBox \"Cellens indhold er reduceret til 30 karakter\" Endif End If
Må jeg komme med et alternativt forslag - som jeg desværre ikke kan teste på den maskine jeg sidder ved lige nu, men jeg tror at det kan komme til at virke.
Man kan i regnearket indsætte et VB-kontrolelement der hedder Microsoft Masked edit control 6,0. Den fungerer ligesom en tekstbox, men der er mulighed for at bestemme om det skal være tal eller bogstaver og hvor mange tegn der må indtastes. Hvis laver regnearket med indtastning i disse Masked edit control boxes kan du bare have en VB-knap til at trykke på når indtastningen er afsluttet og tallene skal kopieres videre til din base eller hvor de skal anvendes.
Hej igen og tak for en hurtig tilbagemelding. Jeg har besluttet alligevel at gøre brug af datavalidering. Da jeg er ny i dette forum og derfor ikke har så meget erfaring med pointgivning håber jeg at i bærer over med mig hvis I føler jer snydt. Poitene er primært givet udfra hurtig respons mere end jeres besvarelser.
Normalt fordeler man efter svarene, og da alle svar er fine, så synes jeg, at du har valgt en fin fordeling.
God fornøjelse.
Synes godt om
Ny brugerNybegynder
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.