Supportnet / Forum / Tabellenkalkulation
Excel: Makro dass Gross- & Kleinschreibung korrigiert
Frage
Hallo, gibt es eine Möglichkeit ein Tabellenblatt auf Gross und KLeinschreibung automatisch zu korrigieren, wobei aber gesagt werden muss, dass Teil nur gross, Teile nur klein und Teile normal geschrieben sind. Ich habe das nur so hinbekommen, dass er dann immer alle anpasst, weswegen aber die Einträge die schon richtig waren wieder in das falsche Format kommen.
Danke, Sam
Antwort 1 von JoeKe
Hallo Sam,
leider versteh ich dein Problem nicht ganz, deshalb hier nur einmal ein Beispiel das in Spalte A von Zeile 1 bis 10 alle Anfangsbuchstaben von den in den Zellen stehenden Texten in Großbuchstaben umwandelt.
Sub Großbuchstaben()
Dim zeile As Long
For zeile = 1 To 10
Cells(zeile, 1) = Application.WorksheetFunction.Proper(Cells(zeile, 1))
Next
End Sub
MfG
JöKe
leider versteh ich dein Problem nicht ganz, deshalb hier nur einmal ein Beispiel das in Spalte A von Zeile 1 bis 10 alle Anfangsbuchstaben von den in den Zellen stehenden Texten in Großbuchstaben umwandelt.
Sub Großbuchstaben()
Dim zeile As Long
For zeile = 1 To 10
Cells(zeile, 1) = Application.WorksheetFunction.Proper(Cells(zeile, 1))
Next
End Sub
MfG
JöKe
Antwort 2 von SamRosenlund
Vielleicht ein Beispiel:
in Spalte A steht:
A
1 SAM
2 Sam
3 sam
Richtig wäre natürlich nur "Sam". Folglich soll er "SAM" und "sam" umwandeln.
in Spalte A steht:
A
1 SAM
2 Sam
3 sam
Richtig wäre natürlich nur "Sam". Folglich soll er "SAM" und "sam" umwandeln.
Antwort 3 von JoeKe
Hallo Sam,
dann lieg ich mit meinem Code ja genau richtig. ;-)
dann lieg ich mit meinem Code ja genau richtig. ;-)
Antwort 4 von SamRosenlund
Ja, danke....
Antwort 5 von SamRosenlund
was müsste man ändern damit nur in spalte O, oder einer anderen, die änderungen erfolgen? In manchen, so habe ich gerade gemerkt, sollte nämlich alles gross bleiben.
Antwort 6 von JoeKe
Hallo Sam,
Cells(1,1) ist die Zelle A1. In der Cells-Schreibweise gibt die erste Zahl die Zeile und die zweite Zahl die Spalte an.
Also wäre die Zelle O1 = Cells(1,15).
MfG
JöKe
Cells(1,1) ist die Zelle A1. In der Cells-Schreibweise gibt die erste Zahl die Zeile und die zweite Zahl die Spalte an.
Also wäre die Zelle O1 = Cells(1,15).
MfG
JöKe
Antwort 7 von SamRosenlund
Sub Großbuchstaben()
Dim zeile As Long
For zeile = 1 To 10
Cells(zeile, 1, 15) = Application.WorksheetFunction.Proper(Cells(zeile, 1, 15))
Next
End Sub
Das funktioniert so nicht. Was mache ich denn falsch?
Dim zeile As Long
For zeile = 1 To 10
Cells(zeile, 1, 15) = Application.WorksheetFunction.Proper(Cells(zeile, 1, 15))
Next
End Sub
Das funktioniert so nicht. Was mache ich denn falsch?
Antwort 8 von SamRosenlund
Sorry, so natürlich. Aber irgendwas fehlt. Er (der PC) macht zwar was, aber er ändert nix.
Sub Großbuchstaben()
Dim zeile As Long
For zeile = 1 To 555
Cells(1, 15) = Application.WorksheetFunction.Proper(Cells(1, 15))
Next
End Sub
Sub Großbuchstaben()
Dim zeile As Long
For zeile = 1 To 555
Cells(1, 15) = Application.WorksheetFunction.Proper(Cells(1, 15))
Next
End Sub
Antwort 9 von JoeKe
In dem Makro werden die Zeile in einer for-next-Schleife durchlaufen. Deshalb steht in den Klammern als Zeileindex die Variable "zeile".
Deshalb so:
Sub Großbuchstaben()
Dim zeile As Long
For zeile = 1 To 10
Cells(zeile, 15) = Application.WorksheetFunction.Proper(Cells(zeile, 15))
Next
End Sub
Falls der Code mehr oder andere Zeilen als 1 bis 10 durchlaufen soll, musst du dies bei:
ändern.
Gruß
Deshalb so:
Sub Großbuchstaben()
Dim zeile As Long
For zeile = 1 To 10
Cells(zeile, 15) = Application.WorksheetFunction.Proper(Cells(zeile, 15))
Next
End Sub
Falls der Code mehr oder andere Zeilen als 1 bis 10 durchlaufen soll, musst du dies bei:
For zeile = 1 To 10ändern.
Gruß
Antwort 10 von SamRosenlund
jetzt hats geklappt. super, danke dir!!

