Avatar billede sdh Mester
15. maj 2001 - 23:26 Der 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.

Hilsen SDH 
Avatar billede janvogt Praktikant
16. maj 2001 - 00:46 #1
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.
16. maj 2001 - 08:32 #2
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

Set rCell = Nothing
End Sub
Avatar billede fobian Nybegynder
16. maj 2001 - 09:58 #3
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.
Avatar billede fobian Nybegynder
16. maj 2001 - 10:08 #4
Man kan også bare lave en almindelig VB textbox
og så skrive noget kode der tester hvor mange tegn
der er og sætte et max på 30.

Private Sub TextBox1_Change()

End Sub
Avatar billede sdh Mester
16. maj 2001 - 19:59 #5
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. 
16. maj 2001 - 20:02 #6
Normalt fordeler man efter svarene, og da alle svar er fine, så synes jeg, at du har valgt en fin fordeling.

God fornøjelse.
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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