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

Forumthread: Buchstaben abwechseln groß und klein

Buchstaben abwechseln groß und klein
15.10.2008 16:21:29
Andy
Hallo Leute!
Ich probiere schon ne ganz Weile an folgendem "Problem".
In der Zelle A1 steht ein beliebig langer Text. Ich hätte jetzt gern die Buchstaben abwechselnd groß und dann klein -- 'HaLlO LeUtE, HeUtE iSt mItTwOcH'
mir fällt allerding keine wirkliche Lösung dafür ein, wie ich einzelne Zeichen auslesen/behandeln könnte.
Hatte nen bissl mit ner for-next Schleife "Ucase(Left)" probiert, aber irgendwie passierte da garnix.
Foum und Google schweigen sich bisher leider auch aus :-(
Hat jmd von Euch ne springende Idee? Wäre super!
Danke schonmal
Andy
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Buchstaben abwechseln groß und klein
15.10.2008 16:40:00
David
Hallo Andy,
das sollte klappen:

Option Explicit
Sub test()
Dim AText, NText, Letter As String, i As Byte
AText = Cells(1, 1)
For i = 1 To Len(AText)
Letter = Mid(AText, i, 1)
If Int(i / 2) = i / 2 Then
Letter = LCase(Letter)
Else
Letter = UCase(Letter)
End If
NText = NText & Letter
Next
Cells(1, 2) = NText
End Sub


Evtl. musst du noch anpassen, was bei einem Leerzeichen (falls möglich) passieren soll und das Klein/Gross kannst du ggf. umdrehen.
Gruß
David

Anzeige
AW: Buchstaben abwechseln groß und klein
15.10.2008 17:33:00
Andy
Das ist ja der helle Wahnsinn!!
Funktioniert beides super!
"Len" kannte ich noch gar nicht... wieder was gelernt *freu*
Vielen Dank!!
AW: Buchstaben abwechseln groß und klein
15.10.2008 16:52:26
JogyB
Zwei Möglichkeiten:

' als Funktion
Public Function grossKlein(ByRef queLLe As Range) As String
Dim i As Long
On Error GoTo errorHandler
' Nur für eine Zelle
If queLLe.Cells.Count > 1 Then
grossKlein = "FEHLER"
Exit Function
End If
' Abarbeitung der Buchstaben
For i = 1 To Len(queLLe.Value)
If i Mod 2 = 0 Then
grossKlein = grossKlein & UCase(queLLe.Characters(i, 1).Caption)
Else
grossKlein = grossKlein & LCase(queLLe.Characters(i, 1).Caption)
End If
Next
On Error GoTo 0
Exit Function
errorHandler:
On Error Resume Next
grossKlein = "FEHLER"
On Error GoTo 0
End Function
' Als Sub, macht das für alle selektierten Zellen
Public Sub machGrossKlein()
Dim i As Long
Dim zeLLe As Range
Application.ScreenUpdating = False
On Error GoTo errorHandler
' Abarbeitung aller Zellen
For Each zeLLe In Selection
' Abarbeitung der Buchstaben
For i = 1 To Len(zeLLe.Value)
If i Mod 2 = 0 Then
zeLLe.Characters(i, 1).Caption = UCase(zeLLe.Characters(i, 1).Caption)
Else
zeLLe.Characters(i, 1).Caption = LCase(zeLLe.Characters(i, 1).Caption)
End If
Next
Next
errorHandler:
On Error GoTo 0
Application.ScreenUpdating = True
End Sub


Gruss, Jogy

Anzeige
als UDF
15.10.2008 17:12:32
Rudi
Hallo,

Function GrossKlein(strTxt As String) As String
Dim i As Integer
For i = 1 To Len(strTxt)
Select Case i Mod 2
Case 0: GrossKlein = GrossKlein & LCase(Mid(strTxt, i, 1))
Case 1: GrossKlein = GrossKlein & UCase(Mid(strTxt, i, 1))
End Select
Next
End Function


Gruß
Rudi

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
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