Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1252to1256
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

VBA - 1. Buchstabe groß

VBA - 1. Buchstabe groß
WalterK
Hallo,
der folgende Codeteil prüft, ob in B2 und C2 die Überschriften ZUNAME und VORNAME stehen. Wenn ja, wird vor der Spalte B eine neue Spalte eingefügt und die beiden Spalten ZUNAME und VORNAME werden in der neu eingefügten Spalte eingetragen. Kurz gesagt, die Einträge in den beiden getrennten Spalten werden in der neu eingefügten Spalte zusammengefasst. Das funktioniert auch alles.
Was ich gerne ändern würde: Alle Namen bestehen nur aus Großbuchstaben. Kann mir jemand den Code so abändern, dass in der neu eingefügten Spalte bei allen Namen nur der 1. Buchstabe groß ist, also z.B. Maier-Loss Ulrike
    Dim varCol_ZUNAME As Variant, lngZeileLetzte As Long
varCol_ZUNAME = Application.Match("ZUNAME", Rows(2), 0)
If IsError(varCol_ZUNAME) Then Exit Sub
lngZeileLetzte = Cells(Rows.Count, CLng(varCol_ZUNAME)).End(xlUp).Row
If lngZeileLetzte 
Besten Dank für die Hilfe und Servus, Walter

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

Betreff
Benutzer
Anzeige
AW: VBA - 1. Buchstabe groß
09.03.2012 01:02:54
Jürgen
Hallo Walter,
wenn ich Deinen Code laufen lasse, erhalte ich als Ergebnis nur den Vornamen. Wenn zudem die Zelle B2 und C2 bekannt sind, lässt sich der Code etwas vereinfachen, anbei ein Voschlag:
Sub Alternativ()
Dim rngZuname As Range
Dim LetzteZeile As Long
If Range("b2") = "ZUNAME" And Range("c2") = "VORNAME" Then
LetzteZeile = Range("b" & Cells.Rows.Count).End(xlUp).Row
If LetzteZeile >= 3 Then
Set rngZuname = Range("b3", "b" & LetzteZeile)
rngZuname.Columns(1).Insert Shift:=xlShiftToRight
rngZuname.Copy
rngZuname.Offset(0, -1).PasteSpecial xlPasteFormats
rngZuname.Offset(0, -1).FormulaR1C1Local = "=GROSS2(ZS(2)&"" ""&ZS(1))"
rngZuname.Offset(0, -1).Value = rngZuname.Offset(0, -1).Value
Union(rngZuname, rngZuname.Offset(0, 1), Range("c2")).Delete
Range("b2").Value = "Vor- und Zuname"
Columns(2).AutoFit
End If
End If
End Sub
Gruß, Jürgen
Anzeige
AW: VBA - 1. Buchstabe groß
09.03.2012 07:54:55
WalterK
Hallo Jürgen,
ich habe den Code jetzt nochmals probiert, bei mir werden beide Namen wie gewünscht in 1 Zelle geschrieben und zwar so, dass der Familienname immer vorne steht.
Die Überschriften VORNAME und ZUNAME können auch an anderer Stelle in Zeile 2 stehen, sie sind also nicht fix in B2 und C2 - sorry, das ist bei meiner ersten Anfrage falsch rübergekommen.
Ich habe eine Beispieldatei hochgeladen:
https://www.herber.de/bbs/user/79301.xls
Danke und Servus, Walter
AW: VBA - 1. Buchstabe groß
09.03.2012 09:50:28
CitizenX
Moin,
Sub Verbinden()
Dim lngVor As Long, lngLast As Long, Zelle As Range, n As Long
lngVor = Application.Match("VORNAME", Rows(2), 0)
If IsError(lngVor) Then Exit Sub
lngLast = Cells(Rows.Count, lngVor).End(xlUp).Row
ReDim myArr(lngLast, 0)
For Each Zelle In Cells(3, lngVor).Resize(lngLast, 1).SpecialCells(xlCellTypeConstants)
myArr(n, 0) = StrConv(Zelle.Offset(, 1) & " " & Zelle, vbProperCase)
n = n + 1
Next
Cells(3, lngVor).Resize(lngLast, 1) = myArr
Cells(2, lngVor) = "VOR- UND ZUNAME"
Columns(lngVor).AutoFit
Columns(lngVor + 1).Delete
End Sub
Grüße
Steffen
Anzeige
AW: VBA - 1. Buchstabe groß
09.03.2012 10:16:37
WalterK
Hallo Steffen,
habs probiert und es funktioniert tadellos.
Besten Dank und Servus, Walter

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige