mehrere Werte suchen und ersetzen
#1
Hallo, ich habe folgendes Problem:

In der ersten Spalte habe ich IDs(unten W,X,Y,Z), in der zweiten Spalte die dazugehörigen Produktnummern(unten 0,1,2,3). Nun gibt es eine andere Spalte in der in den einzelnen Feldern immer !mehrere! IDs aneinandergereiht sind. Ich möchte diese IDs aber automatisch gegen die Produktnummern tauschen.

Da es 300 Produkte gibt, will ich nicht 300x mal Suchen und Ersetzen ausführen, sondern das nach Möglichkeit in einem Zug machen. :)

Dazu wäre eine Wechseln-Formel in der Richtung notwendig:
Wenn Wert von Feld1 in Spalte3 vorhanden, ersetze Wert in allen Feldern von Spalte3 mit Wert von Feld1 usw....

W | 0 | W,Z |
X | 1 | X,Y,Z |
Y | 2 | X |
Z | 3 | Y,Z |

sollte am Ende so sein:

W | 0 | 0,3 |
X | 1 | 1,2,3 |
Y | 2 | 1 |
Z | 3 | 2,3 |


Soweit bin ich schon mal:
=WECHSELN(M:M,$A2,$B2)

Danke schon mal!

liebe Grüße!
Top
#2
Hi,

A1 und nicht "A1"!

Die Methode ist aber genauso umständlich wie Suchen/ersetzen!
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Top
#3
Hallo,

das geht fix mit dieser Schleife:

Code:
Sub ersetzen()
Dim i As Integer

For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
   Columns(3).Replace what:=Cells(i, 1), replacement:=Cells(i, 2), lookAt:=xlPart, _
Next


End Sub

Ich bin davon ausgegangen, dass die erste Zeile die Überschrift enthält. Falls das nicht so ist, müsstest du die Startzeile bei "i = 2" entsprechend ändern.
Schöne Grüße
Berni
Top
#4
Hab leider keinen Plan von VBA, daher muss ichs wohl anderes lösen :(

Sowas in der Art würde vom Prinzip her gehen, ist aber natürlich mit dem & so nicht korrekt:
=WECHSELN(C:C,A2,B2)&WECHSELN(C:C,A3,B3)&WECHSELN(C:C,A4,B4)
Top
#5
Hi,

WECHSELN wird ineinander geschachtelt und geht nur für eine Zelle!!!!!

Bei 300 Begriffen geht es vernünftig nur mit VBA
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Top
#6
Du brauchst keinen Plan von VBA haben, es reicht, wenn du meinen Code kopierst, im VBA-Fenster einfügst und ausführst. Ich erkläre dir auch gerne, wie das geht, falls es dich interessiert.
Oder du lädst eine Beispieldatei hoch, dann bau ich dir das ein inkl. Knopf zum draufdrücken.
Schöne Grüße
Berni
Top
#7
Hallo, ist es möglich, (d)eine {kleine} (Beispiel)Datei zu posten oder einen Tabellenausschnitt..? Aus dem bisherig Geschriebenen werde ich noch nicht schlau... 

Den Code von Berni krieg' ich nicht zum Laufen... Also kann ich kein Ergebnis sehen...

Um wie viele ID's geht's denn..? Das kleine Beispiel kann man auch mit ohne VBA lösen --> Stichwort Power Query..:

Arbeitsblatt mit dem Namen 'Tabelle3'
ABCDEFG
1Spalte_1Spalte_2Spalte_3Spalte_1Spalte_2Spalte_3
2W0W,ZW00,3
3X1X,Y,ZX11,2,3
4Y2XY21
5Z3Y,ZZ32,3
Verwendete Systemkomponenten: [Windows (32-bit) NT 6.01] MS Excel 2010
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg
Gruß Jörg
stolzes Mitglied im ----Excel-Verein
Freund einer excellenten Power Query-Abfrage
Top
#8
Hab das File mit einem Teil der Produkte mal angehängt.
Würde es aber gerne auch checken, wie ich sowas am Besten löse XD

danke!


Angehängte Dateien
.xlsx   Mappe1.xlsx (Größe: 13,38 KB / Downloads: 8)
Top
#9
Bittesehr, anbei die überarbeitete Datei. Du kannst es aber auch gerne selbst probieren:

1. Klicke im Blattregister am unteren Bildschirmrand mit der rechten Maustaste auf "Tabelle1" und wähle "Code anzeigen". Daraufhin öffnet sich der VBA-Explorer.

2. Füge diesen Code im großen weißen Feld in der Mitte ein

Code:
Sub ersetzen()
Dim i As Integer

For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
  Columns(3).Replace what:=Cells(i, 1), replacement:=Cells(i, 2), lookAt:=xlPart
Next

End Sub
(Verwende nicht den Code von vorhin, da hatte ich in der vorletzten Zeile vergessen, den Unterstrich ganz am Ende zu löschen)

3. Nun kannst du den VBA-Explorer wieder schließen.

4. Falls du im Menüband den Reiter "Entwicklertools" siehst, kannst du diesen Schritt überspringen. Falls nicht, erfährst du hier, wie du den Reiter einblendest
https://support.office.com/de-de/article...fd9bea2d45
Du brauchst nicht den kompletten Artikel zu lesen, scrolle einfach nach unten bis zur Überschrift "Anzeigen der Registerkarte "Entwicklertools" in Ihre Office-Anwendung".

5. Gehe zum Reiter Entwicklertools, das zweite Symbol von Links sollte "Makros" heißen. Klicke darauf, wähle "Tabelle1.ersetzen" und klicke auf "Ausführen".

Das sollte es gewesen sein.


Angehängte Dateien
.xlsm   SuchenErsetzen.xlsm (Größe: 24,02 KB / Downloads: 19)
Schöne Grüße
Berni
[-] Folgende(r) 2 Nutzer sagen Danke an MisterBurns für diesen Beitrag:
  • sees, spro
Top
#10
perfekt! vielen Dank!
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste