Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Großbuchstaben finden?

81 views
Skip to first unread message

MaKrue

unread,
Oct 11, 2009, 4:40:53 PM10/11/09
to
Ich habe folgendes Problem: In einer Spalte einer sehr langen Excel-
Tabelle sind mehrere Namen hintereinander durch Semikolon getrennt.
Nachname und Vorname sind durch Komma getrennt. Die Vornamen bestehen
nur aus dem ersten Buchstaben. Das könnte dann so aussehen:

Spalte A
--------------------------------------------------------------
Müller, A; Meier, B; Schulze, C
--------------------------------------------------------------
Schmidt, DX; Krüger, EXY; Mustermann, F
--------------------------------------------------------------

Meine Aufgabe besteht nun darin hinter die Großbuchstaben der Vornamen
einen Punkt zu setzen.

Spalte A
--------------------------------------------------------------
Müller, A.; Meier, B.; Schulze, C.
--------------------------------------------------------------
Schmidt, D.X.; Krüger, E.X.Y.; Mustermann, F.


Bisher habe ich mit der Funktion Suchen und Ersetzen einge Punkte
einfügen können. Allerdings gelingt mir das nicht für Namen mit
mehreren Vornamen.
Welche Lösungsansätze gibt es hierzu?

Freue mich wie immer über Antworten.
Vielen Dank im voraus,
Mandy K.

Klaus "Perry" Pago

unread,
Oct 11, 2009, 5:49:18 PM10/11/09
to
Hallo Mandy,

"MaKrue" <mk...@gmx.de> schrieb im Newsbeitrag
news:a7929830-5b3b-4364...@j24g2000yqa.googlegroups.com...


> Ich habe folgendes Problem: In einer Spalte einer sehr langen Excel-
> Tabelle sind mehrere Namen hintereinander durch Semikolon getrennt.
> Nachname und Vorname sind durch Komma getrennt. Die Vornamen bestehen

> nur aus dem ersten Buchstaben. Das k�nnte dann so aussehen:

> Spalte A
> --------------------------------------------------------------
> M�ller, A; Meier, B; Schulze, C
> --------------------------------------------------------------
> Schmidt, DX; Kr�ger, EXY; Mustermann, F
> --------------------------------------------------------------
>
> Meine Aufgabe besteht nun darin hinter die Gro�buchstaben der Vornamen


> einen Punkt zu setzen.
>
> Spalte A
> --------------------------------------------------------------

> M�ller, A.; Meier, B.; Schulze, C.
> --------------------------------------------------------------
> Schmidt, D.X.; Kr�ger, E.X.Y.; Mustermann, F.

Hier mal "quick&dirty" ein Verfahren f�r Vornamen mit nur einem Buchstaben:

mittels Menuepunkt Daten => Text in Spalten => getrennt => Semikolon
f�gt Excel jeden Namen in eine eigene Spalte

Da vermutkich nicht alle Zellen nur drei Namen enthalten
muss man jetzt die l�ngste Zeile plus zwei Leerspalten
ermitteln und dann folgende Formel eintragen:

zB f�r F1:
=WENN(A1="";"";WENN(B1="";A1&".";A1&".; "))
und nach Bedarf nach rechts kopieren.

Dann werden die einzelnen Spalten wieder zusammengebaut
zB in K1:
=F1&G1&H1&I1&J1

Mit "Kopieren" und "Einf�gen Werte" kann man alles wieder nach Spalte A
transportieren

Gru�
Klaus


Alexander Wolff

unread,
Oct 11, 2009, 6:17:52 PM10/11/09
to
=WECHSELN(A1;";";".")&"." bepunktet Dir den jeweils letzten Vornamen.

Der folgende Code l�st Dein gesamtes Problem:

Sub InitialPlusDot()

For i = 1 To 2000 'behandelt A1:A2000
Cells(i, 1) = Replace(Replace(Cells(i, 1), _
";", ".;") & ".", "..", ".")
p = Len(Cells(i, 1))
For j = p To 1 Step -1
m = Mid(Cells(i, 1), j, 1)
n = Mid(Cells(i, 1), j + 1, 1)
If Asc(m) > 64 And Asc(m) < 91 Then
If Asc(n) > 64 And Asc(n) < 91 Then
k = "." & k
End If
End If
k = m & k
Next
Cells(i, 1) = k: k = ""
Next

End Sub
--
Moin+Gruss Alexander - MVP for MS Excel - www.xxcl.de - mso2000sp3 --7-2


Bernd P

unread,
Oct 11, 2009, 11:00:09 PM10/11/09
to
Hallo Mandy,

Falls sich Deine Daten in Spalte A befinden, schreibe in B1:
=RegExpReplace(RegExpReplace(A1;"([^,]*),\s(\w)(\w)?(\w)?(\w)?";"$1,
$2.$3.$4.$5.";FALSCH;WAHR);"(\.+)",".";FALSCH;WAHR)
und kopiere hinunter soweit wie nötig.

Die benutzerdefinierte Funktion RegExpReplace findest Du hier:
http://sulprobil.com/html/regexp.html
(einfach ALT + F11 drücken, ein neues Modul einfügen, dann den
Makrotext hineinkopieren und zurück ins Tabellenblatt)

Bis zu vier Vornamen werden hiermit bearbeitet.

Viele Grüße,
Bernd

mandy

unread,
Oct 12, 2009, 2:50:53 AM10/12/09
to
Tausend Dank für die vielen schnellen Antworten! Für solche Zaubereien
muß ich ja noch ganz schön viel lernen ...
Ich habe mich jedenfalls für die Makro-Lösung entschieden.

@Bernd
Diese Lösung habe ich auch probiert. Leider wurde ein Fehler angezeigt
an der Stelle >> ",".";

Danke, dass ich euer/Ihr Wissen anzapfen darf!

Viele Grüße,
Mandy K.

Alexander Wolff

unread,
Oct 12, 2009, 3:22:21 AM10/12/09
to
Bernd schreibt in der englischen Version und muss dann stets Funktionsnamen
und Interpunktion auf Deutsch manuell �ndern - fehlertr�chtig, wie ich beim
�bersetzen auf Englisch auch oft feststellen muss. ","."; m�sste vermutlich
";"."; hei�en.

Ab xl2007 (Office2007) kann man �brigens Languagekits f�r 20 Euro oder
Dollar kaufen. Die st�lpen einer dt. Version eine englische Oberfl�che �ber.
Die Interpunktion muss man leider weiterhin selbst in der Systemsteuerung
umstellen, wenn man daf�r nicht gerade
http://michael-schwimmer.de/vba049.htm bem�hen m�chte.

Mein Code war nicht optimiert. Die Replace-Funktion geh�rt ans Ende, damit
weniger lange Strings verarbeitet werden m�ssen, die Asc() Abfragen lassen
sich syntaktisch h�bscher mit Like l�sen und evtl. ist auch MID/LEFT/RIGHT
schneller als 2xMID. Aber die Aufgabe war f�r eine Optimierung zu speziell -
so war ich in ca. 30 Minuten fertig.

Lisa Wilke-Thissen

unread,
Oct 12, 2009, 4:04:16 AM10/12/09
to
Hallo Alexander,

"Alexander Wolff" schrieb

> Ab xl2007 (Office2007) kann man �brigens Languagekits f�r 20 Euro oder
> Dollar kaufen. Die st�lpen einer dt. Version eine englische Oberfl�che
> �ber. Die Interpunktion muss man leider weiterhin selbst in der
> Systemsteuerung umstellen, wenn man daf�r nicht gerade
> http://michael-schwimmer.de/vba049.htm bem�hen m�chte.

was spricht dagegen, "Excel-Optionen | Erweitert | Optionen bearbeiten |
Trennzeichen vom Betriebssystem �bernehmen" zu deaktivieren oder aktivieren?

--
Viele Gr��e

Lisa
MS MVP Word
Wissenschaftliche[s] Arbeiten mit Word 2007:
http://tinyurl.com/yzg3axw

Bernd P

unread,
Oct 12, 2009, 7:35:49 AM10/12/09
to
Hallo Mandy,

Da habe ich vergessen, ein "," in ein ";" umzuwandeln.

Nimm:
an der Stelle >> ";".";

Viele Gruesse,
Bernd

Bernd P

unread,
Oct 12, 2009, 7:36:46 AM10/12/09
to
Hallo Alexander,

Richtig. Danke.

Viele Gruesse,
Bernd

Bernd P

unread,
Oct 12, 2009, 7:41:05 AM10/12/09
to
Hallo Lisa,

Da spricht nichts gegen, aber im internationalen Finanzwesen aus
Deutschland heraus kam man auf eine noch einfachere Variante: Einfach
nur die englischen Versionen einsetzen :-)

Viele Gruesse,
Bernd

Alexander Wolff

unread,
Oct 12, 2009, 8:17:28 AM10/12/09
to
Hallo Lisa,

Als <news:OJRayLxS...@TK2MSFTNGP05.phx.gbl> lie�
Lisa Wilke-Thissen verlautbaren, evtl. nachfolgend zitiert:

> Hallo Alexander,
>
> "Alexander Wolff" schrieb
>

>> Ab xl2007 (Office2007) kann man �brigens Languagekits f�r 20 Euro
>> oder Dollar kaufen. Die st�lpen einer dt. Version eine englische
>> Oberfl�che �ber. Die Interpunktion muss man leider weiterhin selbst
>> in der Systemsteuerung umstellen, wenn man daf�r nicht gerade
>> http://michael-schwimmer.de/vba049.htm bem�hen m�chte.


>
> was spricht dagegen, "Excel-Optionen | Erweitert | Optionen

> bearbeiten | Trennzeichen vom Betriebssystem �bernehmen" zu
> deaktivieren oder aktivieren?

als xl2000er habe ich diese Option nicht. Vielleicht lege ich mir aber
office2010 zu (das ist kein Versprechen). Ich bin mit xl2000 immer noch sehr
zufrieden.

Alexander Wolff

unread,
Oct 12, 2009, 9:37:36 AM10/12/09
to
Als <news:4ad25991$0$3287$8e6e...@newsreader.ewetel.de> lie�
Alexander Wolff verlautbaren, evtl. nachfolgend zitiert:

> =WECHSELN(A1;";";".")&"." bepunktet Dir den jeweils letzten Vornamen.

=WECHSELN(A1;";";".;")&"." ist richtig.

> Der folgende Code l�st Dein gesamtes Problem:
>
> Sub InitialPlusDot()
>
> For i = 1 To 2000 'behandelt A1:A2000
> Cells(i, 1) = Replace(Replace(Cells(i, 1), _
> ";", ".;") & ".", "..", ".")
> p = Len(Cells(i, 1))
> For j = p To 1 Step -1
> m = Mid(Cells(i, 1), j, 1)
> n = Mid(Cells(i, 1), j + 1, 1)
> If Asc(m) > 64 And Asc(m) < 91 Then
> If Asc(n) > 64 And Asc(n) < 91 Then
> k = "." & k
> End If
> End If
> k = m & k
> Next
> Cells(i, 1) = k: k = ""
> Next
>
> End Sub


Hier eine leichte Optimierung (da geht noch mehr):
-------------------------------------------------
Sub InitialPlusDot()

For i = 1 To 2000 'behandelt A1:A2000

p$ = Cells(i, 1)
For j = Len(p) To 1 Step -1
m = Mid(p, j, 1)
If m Like "[A-Z]" Then _
k = IIf(Mid(p, j + 1, 1) Like "[A-Z]", ".", "") & k


k = m & k
Next

k = Replace(Replace(k, ";", ".;") & ".", "..", ".")
If Len(k) > 1 Then Cells(i, 1) = k

Lisa Wilke-Thissen

unread,
Oct 12, 2009, 11:33:25 AM10/12/09
to
Hallo Alexander,

"Alexander Wolff" schrieb

>>> Ab xl2007 (Office2007) kann man �brigens Languagekits f�r 20 Euro oder
>>> Dollar kaufen.

[...]


>> was spricht dagegen, "Excel-Optionen | Erweitert | Optionen bearbeiten |
>> Trennzeichen vom Betriebssystem �bernehmen" zu deaktivieren oder
>> aktivieren?
>
> als xl2000er habe ich diese Option nicht.

dann kannst du mir nat�rlich nicht verraten, ob die genannte Option
ausreicht oder ob das Languagekit sinnvoller ist ;-).

> Vielleicht lege ich mir aber office2010
> zu (das ist kein Versprechen). Ich bin mit xl2000 immer noch sehr
> zufrieden.

Glaube ich. Die neuen Features braucht schlie�lich nicht jeder.
(Mir w�rde eigentlich sogar Multiplan reichen ;-))

--
Viele Gr��e

Lisa
MS MVP Word
Microsoft Excel - Die Expertentipps:
http://tinyurl.com/cmned


Alexander Wolff

unread,
Oct 13, 2009, 7:32:52 AM10/13/09
to
Als <news:eEQy4H1S...@TK2MSFTNGP05.phx.gbl> lie�

Lisa Wilke-Thissen verlautbaren, evtl. nachfolgend zitiert:

>>> was spricht dagegen, "Excel-Optionen | Erweitert | Optionen


>>> bearbeiten | Trennzeichen vom Betriebssystem �bernehmen" zu
>>> deaktivieren oder aktivieren?
>>
>> als xl2000er habe ich diese Option nicht.
>
> dann kannst du mir nat�rlich nicht verraten, ob die genannte Option
> ausreicht oder ob das Languagekit sinnvoller ist ;-).

Stimmt (oder den Link zu Michael Schwimmer testen). Ich habe bislang
manchmal umgestellt, wenn ich US-Daten -> XL-Spreadsheet downloade.

>> Vielleicht lege ich mir aber office2010
>> zu (das ist kein Versprechen). Ich bin mit xl2000 immer noch sehr
>> zufrieden.
>
> Glaube ich. Die neuen Features braucht schlie�lich nicht jeder.
> (Mir w�rde eigentlich sogar Multiplan reichen ;-))


Damit habe ich 1985 mal angefangen! Aber wenn Dir Multiplan ausreicht,
reicht Dir Works auch.

0 new messages