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

Spalten verbinden und unnötige Daten löschen

Spalten verbinden und unnötige Daten löschen
03.08.2018 15:06:15
Drexelius
Hallo zusammen,
wir sind dabei eine xls Datei für unseren Magento Shop vorzubereiten.
Dafür müssen wir Reifengrößen zusammenfügen.
In der einen Spalte steht die Zollgröße und in der anderen Spalte die Reifenbreite und der Querschnitt, allerdings mit störendem Querstrich und anderen nicht zu gebrauchenden Daten, wir müssen als Ergebnis folgenden Matchcode als Beispiel haben: 2055516 2155516.
Es gibt Spalten da gibt es keinen Matchcode, welche mit einem und viele mit mehreren Matchcodes als Ergebnis (2, 3, 4, 5,...)
Hat hier evtl. jemand einen Tipp oder gar die Lösung des Problems?
Ansonsten müssen wir sicherlich mit "Suchen/Ersetzen" die ganzen unbrauchbaren Daten löschen. Eine Formel zum reinen verbinden liegt nämlich vor, dafür müssen die Spalten allerdings sauber sein (Bsp.: 20555 21555).
Ein kleiner Auszug aus der großen Datei liegt hier:
https://www.herber.de/bbs/user/123107.zip
Vielen Dank vorab!

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spalten verbinden und unnötige Daten löschen
03.08.2018 20:14:26
Werner
Hallo,
einfach mal mit dem Makrorekorder aufgezeichnet - Suchen und Ersetzen.
Das funktioniert natürlich nur mit den in der Beispielmappe dargestellten "unnötigen" Daten. Sollten da weitere hinzukommen, müsste das dann natürlich ergänzt werden.
Sub Säubern()
Dim loLetzte As Long
Application.ScreenUpdating = False
With Worksheets("Test") 'Blattname ggf. anpassen
loLetzte = .Cells(.Rows.Count, 2).End(xlUp).Row
.Cells.Replace What:="", Replacement:="", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
.Cells.Replace What:="(*)", Replacement:="", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
.Cells.Replace What:="M+S", Replacement:="", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
.Cells.Replace What:="wS", Replacement:="", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
.Cells.Replace What:=",", Replacement:="", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
.Cells.Replace What:="/", Replacement:="", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
.Range(.Cells(1, 3), .Cells(loLetzte, 3)).FormulaLocal = "=GLÄTTEN($B1)"
.Columns(3).Value = .Columns(3).Value
.Columns(2).Delete
End With
Application.ScreenUpdating = True
End Sub
Gruß Werner
Anzeige
AW: Spalten verbinden und unnötige Daten löschen
08.08.2018 09:30:47
Drexelius
So bewandert sind wir in xls nicht.
Außerdem ist dies nicht umsetzbar, da dies nicht die einzigen unnötigen Daten sind.
Es sind noch 100te andere Varianten von unnützen Daten vorhanden welche wir so alle vorher heraussuchen müssten. Und das bei über 155.000 Zeilen.
Dann ist Suchen/Ersetzen genauso schnell.
AW: Spalten verbinden und unnötige Daten löschen
08.08.2018 09:59:31
Werner
Hallo,
wenn du meinst, dass du bei 100ten anderen Varianten mit händischem Suchen und Ersetzen schneller bist, dann zolle ich dir meinen Respekt.
Versuch mal das hier. Es werden alle Zeichen, inklusive Sonderzeichen, entfernt außer Zahlen.
Aufgrund deiner Beispielmappe bin ich davon ausgegangen, dass die Spalte C nicht mit Daten belegt ist. Die habe ich im Makro benutzt, um die überzähligen Leerzeichen zwischen den Einträgen zu entfernen.
https://www.herber.de/bbs/user/123199.xlsm
Gruß Werner
Anzeige
AW: Spalten verbinden und unnötige Daten löschen
08.08.2018 10:23:03
Drexelius
Wir sind da totale Anfänger.
Haben noch nie mit Makro gearbeitet, würden gerne die ganze Datei mal hoch laden, geht aber aufgrund der Größe nicht.
AW: Spalten verbinden und unnötige Daten löschen
08.08.2018 10:48:31
Werner
Hallo,
poste Mal eine Mail-Adresse, ich schreib dir, dann kannst du mir die Datei schicken.
Gruß Werner
AW: Spalten verbinden und unnötige Daten löschen
08.08.2018 10:54:07
Drexelius
info@reifen-berg.de
hier noch mit...
03.08.2018 20:33:07
Werner
Hallo,
...löschen der Zeilen, die keinen Eintrag in Spalte B haben.
Sub Säubern()
Dim loLetzte As Long, i As Long
Application.ScreenUpdating = False
With Worksheets("Test") 'Blattname ggf. anpassen
loLetzte = .Cells(.Rows.Count, 2).End(xlUp).Row
.Cells.Replace What:="", Replacement:="", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
.Cells.Replace What:="(*)", Replacement:="", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
.Cells.Replace What:="M+S", Replacement:="", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
.Cells.Replace What:="wS", Replacement:="", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
.Cells.Replace What:=",", Replacement:="", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
.Cells.Replace What:="/", Replacement:="", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
.Range(.Cells(1, 3), .Cells(loLetzte, 3)).FormulaLocal = "=GLÄTTEN($B1)"
.Columns(3).Value = .Columns(3).Value
.Columns(2).Delete
For i = loLetzte To 1 Step -1
If .Cells(i, 2) = "" Then .Rows(i).Delete
Next i
End With
Application.ScreenUpdating = True
End Sub
Gruß Werner
Anzeige
Feendback ein Fremdwort? o.w.T.
08.08.2018 08:48:53
Werner

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige