Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1784to1788
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

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

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
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
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

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige