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

Komma in Zelle

Komma in Zelle
30.10.2017 09:36:57
Alban
Guten Morgen,
Ich muss bei der Arbeit viele Namen organisieren, leider schleichen sich bei meinen Kollegen Fehler ein, die ich gerne mit einer Makro korrigieren möchte.
So soll es aussehen:
Alban, Philipp, Karola, Martin...
Leider sieht es häufig so aus:
Alban ,Philipp , Karola,Martin...
Ich habe bis jetzt die folgende Makro entwickelt:
'Komma_entfernen
'Variablendeklaration
Dim i As Integer
Dim j As Integer
i = 1
j = 3
'Welcher Bereich soll durchsucht werden?
'i = Anzahl Zeilen
For i = 1 To 5
'j = Anzahl Spalten
For j = 3 To 3
'Prufe auf Leerzeichen vor einem Komma
If InStr(1, ActiveSheet.Cells(i, j), " , ", vbTextCompare) Then
'Korrigiere den String
ActiveSheet.Cells(i, j).Value = Replace(ActiveSheet.Cells(i, j), " , ", ", ", , , vbTextCompare)
Else
'keine Aktion notwendig
End If
'Prufe auf Leerzeichen vor einem Komma
If InStr(1, ActiveSheet.Cells(i, j), " ,", vbTextCompare) Then
'Korrigiere den String
ActiveSheet.Cells(i, j).Value = Replace(ActiveSheet.Cells(i, j), " ,", ",", , , vbTextCompare)
Else
'keine Aktion notwendig
End If
'Prufe auf Leerzeichen vor einem Komma
If InStr(1, ActiveSheet.Cells(i, j), ",A", vbTextCompare) Then
'Korrigiere den String
ActiveSheet.Cells(i, j).Value = Replace(ActiveSheet.Cells(i, j), ",A", ", A", , , vbTextCompare)
Else
'keine Aktion notwendig
End If
Next j
Next i
Es funktioniert einigermaßen aber ich müsste halt die ganzen Buchstaben aufschreiben. Vielleicht gibt es dafür einen einfachen Weg?
Liebe Grüße
Alban

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: 3 x Replace
30.10.2017 09:50:05
Fennek
Hallo,
als "quick and dirty" (also ungeprüft):
sub iFen() 'Leerstellen vor Komma entfernen columns(1).replace " ," "," 'leerstellen nach Kommo entfernen columns(1).replace ", " "," 'Korrektur columns(1).replace "," ", " end sub mfg
AW: 3 x Replace
30.10.2017 10:07:03
Alban
Das funktioniert leider nicht :-)
Aber danke für den Input.
AW: 3 x Replace funktioniert schon,
30.10.2017 11:13:48
Daniel
Du musst nur der Replace-Funktion mitteilen, dass sie nicht den gesamten Zellinhalt vergleichen soll, sondern nur einen Teil (wenn diese information nicht gegeben wird, verwendet Excel die zuletzt gemachte Einstellung).
Außerdem musst du den Zellbereich, auf den das angewendet werden soll, richtig angeben.
sub kommakorrektur()
With Range("C1:C5") 'Bearbeiteter Bereich
.Replace ", ", ",", LookAt:=xlPart
.Replace " ,", ",", LookAt:=xlPart
.Replace ",", ", ", LookAt:=xlPart
Ende with
End Sub
Aber vielleicht brauchst du kein Makro, das 3x ersetzen kann man ja auch schnell von Hand ausführen.
Gruß Daniel
Anzeige
AW: 3 x Replace funktioniert schon,
30.10.2017 12:20:33
Alban
Danke vielmals Daniel,
Das funktioniert genau, wie ich es wollte.
Liebe Grüße
Alban
AW: Komma in Zelle
30.10.2017 09:59:35
Bernd
Hi,
hier mal etwas auf die schnelle zusammen gestoppelt für die Spalte A:
Sub Zeichen_Entfernen()
For i = 1 To [a65536].End(xlUp).Row
Cells(i, 1).Value = WorksheetFunction.Substitute(Cells(i, 1), Chr(32), "")
Next
Columns("A:A").Select
Selection.Replace What:=",", Replacement:=", ", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End Sub
MfG Bernd
AW: columns("1:3") ? owT
30.10.2017 10:12:29
Fennek
AW: Komma in Zelle
30.10.2017 10:19:39
Matthias
Hallo
Tabelle1

 AB
1Alban ,Philipp , Karola,Martin…Alban, Philipp, Karola, Martin…

Formeln der Tabelle
ZelleFormel
B1=GLÄTTEN(WECHSELN(WECHSELN(A1;",";", ");" ,";", "))


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
Gruß Matthias
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige