Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Code fuer Grossbuchstaben anpassen

Forumthread: Code fuer Grossbuchstaben anpassen

Code fuer Grossbuchstaben anpassen
23.03.2006 22:33:44
Jonas
Hallo alle beisammen!
Ich hab mir diesen Code hier zusammengesucht, weil ich die Saetze in meiner Excel-Tabelle mit Grossbuchstaben ausstatten will:
Immer das erste Wort in einer Zelle soll mit einem Grossbuchstaben anfangen.
ALLERDINGS steht vor diesem ersten Wort immer "a " oder "b " oder "c ", manchmal auch "a-f "
D.h. das ERSTE Wort kommt immer nach der ersten LEERTASTE.
- Kann man folgenden Code irgendwie anpassen?
- UND, kann man auch ne MsgBox einbauen, die mich fragt, in welcher Spalte das stattfinden soll? (Die Spalte aendert sich naemlich von Zeit zu Zeit)
HERZLICHEN DANK!!!

Sub Erster_Buchstabe_groß()
z = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
For Each Zelle In Worksheets("Tabelle1").Range("A1:A" & z)
s = Zelle.Value
a = 0
For x = 1 To Len(s)
If Mid(s, x, 1) = " " Then a = a + 1
Next x
t = ""
For x = 1 To a + 1
tmp = strParse(s, " ", x)
tmp = UCase(Left(tmp, 1)) & LCase(Mid(tmp, 2, Len(tmp)))
t = t & " " & tmp
Next x
Zelle.Value = Trim(t)
Next Zelle
End Sub

Public

Function strParse(ByVal strText As String, _
ByVal Trennzeichen As String, ByVal Position As Integer) As String
Dim posStart, posStop, lenCar As Integer
posStart = 1
Do While Position > 1
posStart = InStr(posStart, strText, Trennzeichen) + 1
Position = Position - 1
Loop
posStop = InStr(posStart, strText, Trennzeichen)
strParse = Mid(strText, posStart, IIf(posStop = 0, Len(strText) + 1, _
posStop - posStart))
End Function

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Code fuer Grossbuchstaben anpassen
24.03.2006 08:35:24
UweD
Hallo
das ganze makro lässt sich hierauf reduzieren.
Dabei wurde es bereits ergänzt.

Sub Erster_Buchstabe_groß2()
I = CInt(InputBox("Welche Spalte" & vbLf & " A=1, B=2,..", "Frage", "1"))
For Each zelle In Worksheets("Tabelle1").Columns(I).SpecialCells(xlCellTypeConstants, 2)
strText = zelle.Value
Trennzeichen = " "
posStart = InStr(1, strText, Trennzeichen) + 1
strText = Mid(strText, posStart)
zelle.Value = Trim(WorksheetFunction.Proper(strText))
Next zelle
End Sub

Gruß UweD
(Rückmeldung wäre schön)
Anzeige
nachtrag
24.03.2006 09:04:09
UweD
Hallo
hab ja den ersten Teiltext (a, b, c, a-f) rausgeworfen.
So bleibt der erhalten

Sub Erster_Buchstabe_groß2()
I = CInt(InputBox("Welche Spalte" & vbLf & " A=1, B=2,..", "Frage", "1"))
For Each zelle In Worksheets("Tabelle1").Columns(I).SpecialCells(xlCellTypeConstants, 2)
strText = zelle.Value
Trennzeichen = " "
posStart = InStr(1, strText, Trennzeichen)
Teil2 = Mid(strText, posStart + 1)
Teil1 = Left(strText, posStart)
zelle.Value = Teil1 & Trim(WorksheetFunction.Proper(Teil2))
Next zelle
End Sub

Gruß UweD
(Rückmeldung wäre schön)
Anzeige
AW: Grossbuchstaben, aber nicht alle
24.03.2006 16:43:19
Jonas
Hey Danke!
Prinzipiell funzt es, ABER er macht mir jetzt ALLE Woerter gross - ich wollte doch nur das ERSTE Wort in einer Zelle mit nem Grossbuchstaben versehen.
Kann man das noch anpassen? Das waer super!
Aber DANKE auf jeden Fall!!!
AW: Grossbuchstaben, aber nicht alle
25.03.2006 15:27:51
Reinhard
Hi Jonas,
Option Explicit
Sub Erster_Buchstabe_groß()
Dim z As Long, n As Integer, pos As Integer
With ActiveSheet
For n = 1 To .Range("A65536").End(xlUp).Row
pos = InStr(.Cells(n, 1), " ")
If pos <> 0 Then
.Cells(n, 1) = Left(.Cells(n, 1), pos) & UCase(Mid(.Cells(n, 1), pos + 1, 1)) & Mid(.Cells(n, 1), pos + 2)
End If
Next n
End With
End Sub

Gruß
Reinhard
ps: Ich freue mich über eine Rückmeldung ob diese Antwort hilfreich war oder nicht..
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