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

Werte vergleichen und austauschen

Werte vergleichen und austauschen
15.01.2014 10:46:59
Lisa
Hallo Leute!
Ich habe folgendes Problem:
Ich habe ein Feld id und ein Feld Material (also jedes Material hat seine id)
Nun hab ich aber in meiner Datenbank eine ganz andere id für jedes Material... Mein Problem besteht darin, dass ich jetzt in den Datensätzen (ca 7000) die ursprüngliche id durch die id meiner Datenbank ersetzen muss...
Es geht zwar mit suchen&ersetzen per Hand aber mir gehts ja um Zeitersparnis....
Ich dachte mir dass das per VBA geht, aber meine Kenntnisse reichen dazu nicht wirklich aus oder ich steh auf der Leitung ;)
Meine Excel-Tabelle sieht jetzt wie folgt aus:
id_alt
1
2
3
4
id_neu
10002
39
48
27
material
beton
PVC
PE
GG
id_datensatz
4
4
2
3
natürlich nebeneinander... :-/
Ich hoffe ihr könnt mir folgen....
Wäre echt glücklich wenn mir jemand helfen könnte....
LG Lisa

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Werte vergleichen und austauschen
15.01.2014 10:54:04
Rudi
Hallo,
in einer Hilfsspalte per SVERWEIS() die neue ID ermitteln, kopieren und per Inhalte Einfügen die alte ID überschreiben.
Gruß
Rudi

AW: Werte vergleichen und austauschen
15.01.2014 11:04:57
Lisa
Hallo Rudi,
Danke für die schnelle Antwort aber ich versteh nicht wie das gehen soll....
LG
Lisa

AW: Werte vergleichen und austauschen
15.01.2014 11:13:37
UweD
Hier noch die Lösung von Rudi
material
 ABCDEFGHIJ
1mat_id altmat_idmaterial          mat_idmat_neu
2110002STZ          351
3212B          351
4351PVC          351
5479GG          351
655AZ          351
7680GGG          351
8710005BFR          351
9878GFK          351
10988PEHD          351
111191PP          351
121293PVCU          212
1313113SB          212

verwendete Formeln
Zelle Formel Bereich
J2 =SVERWEIS(I2;A:B;2;0) 

Tabellendarstellung in Foren Version 5.49


- Die Hilfsspalte kopieren
- Die alte Spalte markieren
- Inhalte Einfügen, Werte
Gruß UweD

Anzeige
AW: Werte vergleichen und austauschen
15.01.2014 10:56:00
Uwe
Hallo Lisa
lade doch mal ein Bsp Mappe hoch.
Gruß
Uwe

AW: Werte vergleichen und austauschen
15.01.2014 11:09:22
UweD
Hallo nochmal
nochmal das Makro auf das Beispiel angepasst
Sub Tauschen()
On Error GoTo Fehler
Dim TB1, i%
Dim SP1%, SP2%, ZE&, LR&
Dim IdAlt$, IdNeu$
Application.ScreenUpdating = False
Set TB1 = Sheets("material") 'Tabelle mit den Austauschdaten
SP1 = 1 'Spalte A' aus Tabelle1
SP2 = 9 'Spalte I
ZE = 2 'Übrschrift beachten
LR = TB1.Cells(Rows.Count, SP1).End(xlUp).Row 'letzte Zeile der Spalte
For i = ZE To LR
IdAlt = TB1.Cells(i, SP1)
IdNeu = TB1.Cells(i, SP1 + 1)
TB1.Columns(SP2).Replace What:=IdAlt, Replacement:=IdNeu, LookAt:=xlWhole, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Next
Err.Clear
Fehler:
If Err.Number  0 Then MsgBox "Fehler: " & Err.Number & vbLf & Err.Description: Err.Clear
End Sub

Gruß UweD

Anzeige
AW: Werte vergleichen und austauschen
15.01.2014 11:11:56
Lisa
WOW, UweD!
Ich versteh zwar nur zu einem Bruchteil was da vor sich geht, aber ich probiers ;)
Danke und ich meld mich mit dem Ergebnis zurück!
Lisa

AW: Werte vergleichen und austauschen
15.01.2014 11:25:19
Lisa
Sieht schon mal gut aus aber da gibts noch eine Unstimmigkeit.... die id 2 ist durch 93 ersetzt worden und nicht durch 12.... warum?
Hier die Mappe mit dem Ergebnis und ich hab zum Vergleich nochmal die alte mat_id Spalte eingefügt...
https://www.herber.de/bbs/user/88822.xlsm
LG
Lisa

AW: Werte vergleichen und austauschen
15.01.2014 11:46:34
UweD
Hallo nochmal
OK, das geht dann so nicht.
- die 2 wird im 2.Durchlauf durch die 12 getauscht.
- in einem späteren Durchlauf wird dann die neu gesetzte 12 durch die 93 getauscht.
so gehts dann aber
Sub Tauschen()
On Error GoTo Fehler
Dim TB1, i%
Dim SP1%, SP2%, ZE&, LR&
Dim IdAlt$, IdNeu$
Application.ScreenUpdating = False
Set TB1 = Sheets("material") 'Tabelle mit den Austauschdaten
SP1 = 1 'Spalte A' aus Tabelle1
SP2 = 9 'Spalte I
ZE = 2 'Übrschrift beachten
LR = TB1.Cells(Rows.Count, SP1).End(xlUp).Row 'letzte Zeile der Spalte
For i = ZE To LR
IdAlt = TB1.Cells(i, SP1)
IdNeu = "N#" & TB1.Cells(i, SP1 + 1)
TB1.Columns(SP2).Replace What:=IdAlt, Replacement:=IdNeu, LookAt:=xlWhole, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Next
TB1.Columns(SP2).Replace What:="N#", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Err.Clear
Fehler:
If Err.Number  0 Then MsgBox "Fehler: " & Err.Number & vbLf & Err.Description: Err.Clear
End Sub
Gruß UweD

Anzeige
AW: Werte vergleichen und austauschen
15.01.2014 11:59:58
Lisa
Danke, danke, danke UweD!!!!
Funktioniert einwandfrei!
Du hast mir echt viel Handarbeit erspart!!!
Danke nochmal!
LG Lisa

AW: Werte vergleichen und austauschen
15.01.2014 11:04:44
UweD
Hallo
so?
Sub Tauschen()
On Error GoTo Fehler
Dim TB1, TB2, i%
Dim SP1%, SP2%, ZE&, LR&
Dim IdAlt$, IdNeu$
Application.ScreenUpdating = False
Set TB1 = Sheets("Tabelle1") 'Tabelle mit den Austauschdaten
Set TB2 = Sheets("Tabelle2") 'Tabelle mit der Datenbank
SP1 = 1 'Spalte A' aus Tabelle1
SP2 = 1 'Spalte A' aus Tabelle2
ZE = 2 'Übrschrift beachten
LR = TB1.Cells(Rows.Count, SP1).End(xlUp).Row 'letzte Zeile der Spalte
For i = ZE To LR
IdAlt = TB1.Cells(i, SP1)
IdNeu = TB1.Cells(i, SP1 + 1)
TB2.Columns(SP2).Replace What:=IdAlt, Replacement:=IdNeu, LookAt:=xlWhole, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Next
Err.Clear
Fehler:
If Err.Number  0 Then MsgBox "Fehler: " & Err.Number & vbLf & Err.Description: Err.Clear
End Sub

Gruß UweD
Anzeige

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige