Avatar billede knc Nybegynder
17. februar 2010 - 10:46 Der er 9 kommentarer og
1 løsning

Brugers input skal være et bestemt bogstav

Jeg har et skema (C10 til AL24), hvor brugere skal indtaste et lille "x", men jeg har erfaret, at ikke alle har forstået det. Jeg har derfor brug for en makro, hvor den enten

1. omdanner alle indtastede tegn til et lille "x"
2. eller giver brugeren en besked om, at det kun er tilladt at taste et lille "x" og sletter det indtastede tegn.

Jeg har brug for en makro og ikke en formel, idet jeg ikke ønsker at ændre på skemaets opbygning.

Er det muligt?
Avatar billede panebb Novice
17. februar 2010 - 11:03 #1
Det kan sikkert lade sig gøre via VBA, hvis en af de dygtige herinde hjælper dig.

Du kan også indsætte en kommentar i cellerne, som fortæller at kun 'x' er tilladt. Men det retter ingenting, oplyser kun.

højreklik på cellen og vælg 'indsæt kommentar'
en lille trekant i cellen viser at der findes en kommentar i den.
Avatar billede knc Nybegynder
17. februar 2010 - 11:07 #2
Det er rigtigt, og den tanke har jeg også haft. Problemet med en kommentar er, at brugeren er nødt til aktiv at bruge musen for at få vist kommentaren. Idet mange blot bruger pilene til at bevæge sig rundt i skemaet, vil den ikke blive vist.
Avatar billede supertekst Ekspert
17. februar 2010 - 11:38 #3
Forslag:

Indsættes på det pågældende ark
Alle tegn i området bliver til et "x"
Et sat "x" kan slettes igen ved at slette det eller indtaste en blank (mellemrum)

Dim flag As Boolean
Private Sub Worksheet_Activate()
    flag = False
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Rem Bestem aktuelle celle-adresse - C10-AL24
    If flag = False Then
        ræk = Target.Row
        kol = Target.Column
        værdi = Target.Text
       
        If (ræk >= 10 And ræk <= 24) And (kol >= 3 And kol <= 38) Then
            flag = True
            If værdi <> "" And værdi <> " " Then
                Target = "x"
            Else
                Target = ""
            End If
        End If
    End If
   
    flag = False
End Sub
Avatar billede knc Nybegynder
17. februar 2010 - 11:48 #4
Supertekst > Næsten perfekt. Jeg kan ikke få lov til at slette i cellerne. Jeg får beskeden "Run-time error: Method'_Default' of object 'Range' failed".
Dvs. at i kodens 7. sidste linje "Target=""" er der fejl.
Avatar billede knc Nybegynder
17. februar 2010 - 12:01 #5
Supertekst > Jeg får desuden at vide, at jeg ikke kan starte med "Dim..." efter en "End Sub" (jeg har flere makroer på arket).
Avatar billede excelent Ekspert
17. februar 2010 - 12:41 #6
Jeg ville nu blot anvende Data/Datavalidering/Brugerdefineret

formler er : =KODE(C19)=120

denne virker i celle C19, ret til aktuel celle
Avatar billede supertekst Ekspert
17. februar 2010 - 12:42 #7
Dim skal så flyttes øverst - foran første Sub.

Har ingen problemer med at slette forkerte x'er

Du er velkommen til at sende din fil - mailadr. under profil
Avatar billede knc Nybegynder
17. februar 2010 - 12:55 #8
Supertekst > Perfekt. Jeg flyttede Dim op i toppen sammen med den anden makro, som du lavede tidligere (forbindKrydser). Nu virker det.

Smid et svar. :-)
Avatar billede knc Nybegynder
17. februar 2010 - 13:18 #9
Excelent > Tak for dit bud, men jeg valgte Superteksts forslag, idet det helt automatisk ændrer indtastede værdier til det ønskede. Dit forslag vil komme med en besked til brugere, hvorefter brugeren skal taste ny værdi.

Jeg ønsker at lave en løsning til brugerne, hvor de bliver forstyrret mindst muligt. Dertil er Superteksts forslag det bedste. I mit spørgsmål havde jeg Superteksts forslag som 1. prioritet og dit som 2.
Avatar billede supertekst Ekspert
17. februar 2010 - 13:44 #10
Ok - godt det lykkedes. (Kan godt huske de forbundne krydser :-)
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
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

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