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

Excel Werte suchen und Zeilen ersetzen

Excel Werte suchen und Zeilen ersetzen
16.03.2021 16:45:09
Roman
Hallo!
Ich bekomme in der Arbeit öfters Listen zugeschickt welche ich miteinander kombinieren möchte um Werte aus 2 Spalten aktuell zu halten, indem ich diese aus der "neuen" Datei oder (ich kopiere sie immer in eine neue Spalte meiner Originaldatei) "neuen" Spalte suche und ersetze.
Nun habe ich das Problem, dass die Produkte aus beiden Dateien nicht zu 100% übereinstimmen.
Entweder sind Neue SAP-Nummern und Bezeichnungen dabei oder sie sind weggefallen bzw. was sich immer ändert sind die Lagerstände und die Werte der Produkte selbst.
Und nun möchte ich, dass mir die Originaltabelle die neue Tabelle nach den gleichen SAP-Nummern durchsucht und die Werte der Spalten Lagerstände und EUR/Wert ersetzt.
Sieht wie folgt aus:
TABELLE 1 = ORIGINALTABELLE
SPALTE G SPALTE H SPALTE I SPALTE J SPALTE K SPALTE L
SAP-Nr. Material Lagerstand EUR Zusatzinfo 1 Zusatzinfo 2 Zusatzinfo 3
123 Apfel 5 10€ INFO INFO INFO
124 Birne 8 12€ INFO INFO INFO
125 Orange 3 28€ INFO INFO INFO
126 Nektarine 4 37€ INFO INFO INFO
127 Tomate 7 45€ INFO INFO INFO
128 Gurke 6 18€ INFO INFO INFO
129 Zeller 1 5€ INFO INFO INFO
TABELLE 2 = NEUE WERTE
SPALTE G SPALTE H SPALTE I SPALTE J SPALTE K SPALTE L
SAP-Nr. Material Lagerstand EUR Zusatzinfo 1 Zusatzinfo 2
123 Apfel 4 12€
127 Tomate 1 22€
125 Orange 8 735€
129 Zeller 12 425€
124 Birne 21 8€
126 Nektarine 3 121€
128 Gurke 10 0,5€
131 Paprika 12 99€
132 Lauch 5 13€
133 Zwiebel 3 9€
Wie schaffe ich es jetzt, dass meine Originaltabelle die Werte aus den Spalten "I" (Lagerbestand) und "J" (Wert) mit denen der Tabelle2 ersetzt, wenn die Spalte G (SAP-Nr.) und Spalte H (Material) immer unterschiedlich geordnet sind.
Außerdem möchte ich, dass die Originaltabelle mir die 3 neuen Positionen der Tabelle2 unten hinzufügt.
Alle anderen Spalten der ORIGINALTABELLE dürfen aber weder den Platz noch die Ordnung verlieren, da dort Zusatzinformationen geschrieben stehen.
Ich versuche noch die Excel hinzuzufügen, sollte es aber nicht klappen, dann hoffe ich, dass ihr mit meinen Informationen arbeiten und mir helfen könnt.
https://www.herber.de/bbs/user/144859.xlsx
Habe leider keine Ahnung wie ich das im Internet suchen soll - mit welchen Begriffen und bin nach 2h jetzt zu dem Entschluss gekommen die Experten von hier zu fragen.
Ich will nicht wieder beide Tabellen in eine zusammenfügen und dann nach SAP-Nummer sortieren, nur damit ich dann die doppelten Zeilen manuell aktualisiere und wieder lösche. Total umständlich und zeitraubend.
VIELEN DANK für eure Hilfe.
LG
Roman

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel Werte suchen und Zeilen ersetzen
16.03.2021 17:26:41
Nepumuk
Hallo Roman,
öffne mit Alt+F11 den VBA-Editor - Menüleiste - Einfügen - Modul. Folgende Prozedur einfügen:
Option Explicit

Public Sub Equalise()
    
    Dim objCell As Range
    Dim ialngIndex As Long
    Dim avntValues As Variant
    
    With Worksheets("Tabelle2")
        avntValues = .Range(.Cells(3, 7), .Cells(.Rows.Count, 10).End(xlUp)).Value2
    End With
    
    With Worksheets("Tabelle1")
        
        For ialngIndex = LBound(avntValues, 1) To UBound(avntValues, 1)
            
            Set objCell = .Columns(7).Find(What:=avntValues(ialngIndex, 1), _
                LookIn:=xlValues, LookAt:=xlWhole)
            
            If Not objCell Is Nothing Then
                
                objCell.Offset(0, 2).Value = avntValues(ialngIndex, 3)
                objCell.Offset(0, 3).Value = avntValues(ialngIndex, 4)
                
            Else
                
                With .Cells(.Rows.Count, 7).End(xlUp)
                    
                    .Offset(1, 0).Value = avntValues(ialngIndex, 1)
                    .Offset(1, 1).Value = avntValues(ialngIndex, 2)
                    .Offset(1, 2).Value = avntValues(ialngIndex, 3)
                    .Offset(1, 3).Value = avntValues(ialngIndex, 4)
                    
                End With
            End If
        Next
    End With
End Sub

VBA-Editor mit Alt+q schließen und das Makro mit Alt+F8 aufrufen und starten.
Gruß
Nepumuk

Anzeige
AW: Excel Werte suchen und Zeilen ersetzen
17.03.2021 08:25:20
Roman
Hallo NEPUMUK!
DU BIST DER BESTE!
Vielen Dank.
Ich hätte nicht gedacht, dass ich so schnell eine so zufriedenstellende Antwort erhalten würde. :)
DU hast mir die Arbeit damit ordentlich erleichtert und mir jede Menge an Stunden erspart.
!!!VIELEN DANK!!!
GLG
Roman

323 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige