Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Textbox Großschreiben

Forumthread: Textbox Großschreiben

Textbox Großschreiben
12.10.2020 08:00:07
Chris
Hallo Forum,
folgendes Makro ersetzt bei Eingabe der Raute, diese durch den Text "Test-".
Nun möchte ich, dass ab dem 6. Zeichen der erste Buchstabe immer großgeschrieben wird, danach klein weiter.
Wie setze ich diese um?
Schon mal Danke, Chris

If TextBox22.Value = "##" Then
TextBox22.Value = VBA.Replace(TextBox22.Value, "##", "Test-", 1)
End If

Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Textbox Großschreiben
12.10.2020 09:10:16
UweD
Hallo
generell so...

Testtext = "12345abCdE"
Testtext = Left(Testtext, 5) & UCase(Mid(Testtext, 6, 1)) & LCase(Mid(Testtext, 7))
LG UweD
AW: Textbox Großschreiben
12.10.2020 09:10:46
Nepumuk
Hallo Chris,
teste mal:
Private Sub TextBox22_Change()
    Dim strText As String
    With TextBox22
        If .Text = "##" Then
            .Text = "Test-"
        ElseIf .TextLength = 6 Then
            strText = .Text
            Mid$(strText, 6, 1) = UCase$(Mid$(.Text, 6, 1))
            .Text = strText
        ElseIf .TextLength > 6 Then
            strText = .Text
            Mid$(strText, .TextLength, 1) = LCase$(Mid$(.Text, .TextLength, 1))
            .Text = strText
        End If
    End With
End Sub

Gruß
Nepumuk
Anzeige
AW: Textbox Großschreiben
12.10.2020 13:06:50
Chris
Hallo Nepumuk,
danke für dein Makro. Es läuft fast wie gewünscht, daher etwas genauer:
- Wenn nichts in der TextBox steht soll immer nur der erste Buchstabe groß geschrieben werden, danach klein weiter.
- nur wenn "Test-" drin steht, soll das 6. Zeichen gro0 sein, danach alles klein weiter.
Nochmals Danke.
Chris
Anzeige
AW: Textbox Großschreiben
12.10.2020 13:15:34
Nepumuk
Hallo Chris,
so ok?
Private Sub TextBox22_Change()
    Dim strText As String
    With TextBox22
        If .Text = "##" Then
            .Text = "Test-"
        ElseIf Left$(.Text, 5) = "Test-" And .TextLength = 6 Then
            strText = .Text
            Mid$(strText, 6, 1) = UCase$(Mid$(.Text, 6, 1))
            .Text = strText
        ElseIf Left$(.Text, 5) = "Test-" And .TextLength > 6 Then
            strText = .Text
            Mid$(strText, .TextLength, 1) = LCase$(Mid$(.Text, .TextLength, 1))
            .Text = strText
        Else
            .Text = Application.Proper(.Text)
        End If
    End With
End Sub

Gruß
Nepumuk
Anzeige
AW: Textbox Großschreiben
12.10.2020 13:58:50
Chris
Vielen Dank euch allen, jetzt läuft es - auch die anderen Makros, ich entscheide mich für das von Nepumuk.
Gruß Chris
AW: Textbox Großschreiben
12.10.2020 12:59:30
Gerd
Moin
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
With TextBox22
If .TextLength = 5 Then
KeyAscii = Asc(UCase(ChrW(KeyAscii)))
ElseIf .TextLength = 1 Then
If .Text = "#" Then
If KeyAscii = 35 Then
KeyAscii = 0
.Text = "Test-"
End If
End If
End If
End With
End Sub

Gruß Gerd
Anzeige
AW: Textbox Großschreiben
12.10.2020 13:22:12
Daniel
HI
muss das während der Eingabe passieren?
in der Regel reicht es aus, das am Schluss zu machen, wenn alles drin steht.
dazu im AfterUpdate-Event der TextBox22 folgender Code:
With Textbox22
.Text = Replace(.Text, "##", "Test-")
if .text like "Test-?*" then
.text = "Test-" & UCase(Mid(.Text, 6, 1)) & LCase(Mid(.Text, 7))
elseif Len(.Text) > 0 then
.text = UCase(Left(.Text, 1)) & LCase(Mid(.Text, 2))
end if
end with

Gruß Daniel
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige