Avatar billede Sigma Pi Juniormester
04. januar 2017 - 09:31 Der er 2 kommentarer og
1 løsning

VBA: Tilføj ekstra tegn til UserForm tekstboks

Hej alle,

Jeg sidder og bokser med en problemstilling, som jeg håber I kan bidrage med lidt hjælp til.

OPLÆG:
Jeg har en UserForm, der skal bruges til noget rollespil. I den kan brugeren (gamemasteren) oprette et væsen med nogle data.

Én af disse data er væsnets forsvars bonus (defense bonus).

Denne indtastes i en tekstboks i UserFormen.

PROBLEMSTILLING:
Hvis ikke der er indtastet noget i tekstboksen, så vil jeg gerne have den er tom.
Men hvis brugeren indtaster noget her, så vil jeg gerne have, at den indtastede data automatisk efterfølges af en lille stjerne.

Jeg har prøvet alle mulige forskellige muligheder, og alle mine løsninger ender med, at den udfylder tekstboksen med brugerens input, og så udfylder tekstboksens maksimale antal resterende tegn med stjerner?!
Mistænker mig selv for at have oprettet en slags uendelig løkke, men kan ikke gennemskue, hvordan jeg gør det anderledes.

Warning: Jeg er ret ny i VBA.

Min kode ser således ud:

Private Sub TextBoxCreatureDefenseBonusConstant_Change()

If TextBoxCreatureDefenseBonusConstant.Text = "" Then
    TextBoxCreatureDefenseBonusConstant.Text = ""
Else
    TextBoxCreatureDefenseBonusConstant.Text = Mid(TextBoxCreatureDefenseBonusConstant.Text, 1, Len(TextBoxCreatureDefenseBonusConstant.Text)) & "*"
End If

End Sub
Avatar billede Sigma Pi Juniormester
04. januar 2017 - 09:36 #1
Jeg kan måske tilføje, at jeg har forsøgt at optage en makro, hvor den gør det samme gennem Excel.
Men den refererer jo til en celle og ikke en tekstboks i en UserForm.
Så jeg har ikke helt kunne prøve mig frem til en lignende løsning.

Makroen endte med at se sådan her ud

    ActiveCell.FormulaR1C1 = "6"
    Range("H8").Select
    Selection.NumberFormat = "General""d6"""
Avatar billede excelent Ekspert
04. januar 2017 - 18:44 #2
Private Sub TextBoxCreatureDefenseBonusConstant_AfterUpdate()
Me.TextBoxCreatureDefenseBonusConstant = _
Me.TextBoxCreatureDefenseBonusConstant & "*"
End Sub
Avatar billede Sigma Pi Juniormester
04. januar 2017 - 18:55 #3
Tak for input, virker perfekt!

Vil du prøve at uddybe - for min forståelse af logikken - hvorfor det skal være "AfterUpdate" og hvorfor du bruger præfixet Me.

Jeg tænker der ligger noget "funktionshandling" bagved? De opfører sig bestemt? De er mere eller mindre følsomme end andre egenskaber eller metoder ... ??
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