02. juni 2015 - 21:51Der er
4 kommentarer og 1 løsning
første bogstav med stort i tekstboks vba, resten valgfrit
Word vba 2013
I en textbox under change, vil jeg gerne have, at det første bogstav i teksten bliver "lavet om" til stort bogstav, resten af teksten skal ikke ændres.
Hvis det er en tekstboks i en UserForm, du taler om, kan du f.eks. gøre sådan:
NB Ret "TextBox1" til navnet på din tekstboks.
Private Sub TextBox1_Change() Dim strSel As String With TextBox1 'gem placering af indsætningsmærke så det ikke hopper til enden af teksten hvis der rettes i allerede indtastet tekst strSel = .SelText 'ret første tegn til stort og bevar resten uændret .Value = UCase(Left(.Value, 1)) & Right(.Value, Len(.Value) - 1) 'placer indsætningmærke korrekt igen .SelText = strSel End With End Sub
Virker, men hvis man sletter hele tksten kommer flg. fejl op: "Invalid procedure call of argument", hvilket vel skyldes, at der ikke er noget tekst. Har elimineret dette ved at udvide din kode, men er det ok kodemæssigt?
Private Sub Overskrift_Change() If Overskrift.Text = "" Then Exit Sub Else Dim strSel As String With Overskrift 'gem placering af indsætningsmærke, så det ikke hopper til enden af teksten hvis der rettes i allerede indtastet tekst strSel = .SelText 'ret første tegn til stort og bevar resten uændret .Value = UCase(Left(.Value, 1)) & Right(.Value, Len(.Value) - 1) 'placer indsætningmærke korrekt igen .SelText = strSel End With End If End Sub
Der er OK, som du har lavet ændringen. Det er måske lidt pænere at gøre f.eks. sådan (If/End If indsat):
Private Sub Overskrift_Change() Dim strSel As String With Overskrift If .Text <> "" Then 'gem placering af indsætningsmærke så det ikke hopper til enden af teksten hvis der rettes i allerede indtastet tekst strSel = .SelText .Value = UCase(Left(.Value, 1)) & Right(.Value, Len(.Value) - 1) 'placer indsætningmærke korrekt .SelText = strSel End If End With End Sub
Til sims10000 Tak for forsøget - håber Lenes svar letter på forståelsen på mit spørgsmål.
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.