Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1016to1020
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

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

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

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

187 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige