24.02.2017, 12:03 (Dieser Beitrag wurde zuletzt bearbeitet: 24.02.2017, 12:04 von Rabe.)
Hi,
(24.02.2017, 11:47)snoopy4000_0 schrieb: gibt es eine andere Möglichkeit gezielt so eine Überprüfung von Daten in zwei Excel Tabellenblättern vorzunehmen? Ich kann die Artikelnummern miteinander vergleichen und auch mit einem SVERW. zu dem jew. Artikelnummer die Anzahl einblenden lassen. Aber es ist einfach nur kompliziert immer wieder zwischen zwei Excel Tabellenblättern sich zu bewegen, um zu überprüfen.
Datenbank Access?
Du hast zwei Tabellenblätter ER_01 und WA_01. In ER_01 holst Du zusätzlich in Spalten die entsprechenden Werte aus WA_01, dann kannst Du daneben noch eine Überprüfung einbauen und bewegst Dich zur Prüfung nur noch auf ER_01.
Mit meiner vorgeschlagenen Lösung ist das doch eigentlich drin: es werden entweder die Daten von WA_01 geholt oder bei Nicht-Vorhandensein die von ER_01 genommen. Und Du bleibst immer auf ER_01.
Folgende(r) 1 Nutzer sagt Danke an Rabe für diesen Beitrag:1 Nutzer sagt Danke an Rabe für diesen Beitrag 28 • snoopy4000_0
Zitat:Aber es ist einfach nur kompliziert immer wieder zwischen zwei Excel Tabellenblättern sich zu bewegen, um zu überprüfen.
mal noch ein Hinweis, ist vielleicht auch nicht jedem bekannt und hilft ab und an. Es gibt im Menü | Ansicht | Alle anordnen die Möglichkeit, zwei oder mehr Tabellen nebeneinander oder anders angeordnet einzublenden.
Aber ich nehme an, das hilft Dir nicht weiter?
Ich zitiere mal Ralf
Zitat:Mit meiner vorgeschlagenen Lösung ist das doch eigentlich drin: es werden entweder die Daten von WA_01 geholt oder bei Nicht-Vorhandensein die von ER_01 genommen. Und Du bleibst immer auf ER_01.
Eventuell kann man die Formel so anpassen oder splitten, dass die Daten beider Blätter abgerufen werden. Du bekommst dann z.B. in Spalte P die Daten von WA_01 und in Spalte Q von ER_01. Ich würde die Ausgabe für eine Artikelnummer eventuell zweizeilig aufbauen und pro Datei dann eine Zeile nutzen.
Wäre das ein Ansatz?
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:1 Nutzer sagt Danke an schauan für diesen Beitrag 28 • snoopy4000_0
ich habe mir die Aufgabe auch mal angesehen und sende eine Beispieldatei mit Makro Lösung. Ich benutze vum Vergleichen eine Extra Tabelle und schreibe nur die doppelten Artikel untereinander. Ich denke das ist die einfachste Lösung! Zwei Fenster nebeneinander geht zwar auch, aber man muss immer in den Daten mit dem Auge staendig das herausfiltern, was man sehen will. Auf Dauer ermüdet das m.E. die Augen.
Meine Liste ist die einfache Überlegung wie ich es in der Praxis lösen würde. Ob es gefaellt oder nicht muss der Frager entscheiden.
mfg Gast 123
Folgende(r) 1 Nutzer sagt Danke an Gast 123 für diesen Beitrag:1 Nutzer sagt Danke an Gast 123 für diesen Beitrag 28 • snoopy4000_0
26.02.2017, 21:52 (Dieser Beitrag wurde zuletzt bearbeitet: 26.02.2017, 21:52 von snoopy4000_0.)
Erstmal möchte ich mich bei allen hier recht herzlich bedanken. Danke für eure Hilfe.
Ich finde das Makro sehr hilfreich. Auf einen Schlag sehe ich die doppelten Artikel. Jedoch sehe ich nun nur die Artikel mit der gleichen Artikelnummer. Wäre es möglich, dass Ganze soweit zu erweitern, dass alle Artikeln sich in der Tabelle wiederfinden. Also auch Artikel dich sich nicht doppelt in den Tabellenblättern wiederfinden. Hmm...vielleicht noch ein Beispiel, um das genauer zu erklären. Quasi Artikelnummer die weder in dem einen noch in dem anderen Tabellenblätter gleich sind und diese in dem Tabellenblatt Vergleich aufgeführt werden. Damit die Liste vollständig ist.
Ich würde mich über eine Rückmeldung freuen. Vielen Dank im Voraus.
ich freue mich sehr das meine Makro Idee angekommen ist, anbei ein zweites Makro zum Erweitern. Im VBA Editor ein neues Modulblatt einfügen und den unteren Code in das neue Modul kopieren. Dem Button muss danach das neue Button Makro zugewiesen werden, weil es zwei seperate Makros sind, die nacheinander aufgerufen werden.
Das 1. Makro ist ausgelegt für 1000 Artikel, sollten es mehr sein muss nur die Zeilenangabe im Löschbefehl erhöht werden: .Range("A2:I1000").ClearContents - von 1000 auf xxxx
Im 2. Makro kann man die Leerzeilen zwischen den Artikeln selbst einstellen: z = z + 1 'Anzahl Leerzeilen
Ich denke das du die Sache problemlos einfügen kannst. Würde mich freuen wenn es auf Anhieb klappt.
mfg Gast 123
Code:
Option Explicit '26.2.2017 Gast 123 Clever Forum
Dim WA As Worksheet
Dim ER As Worksheet
'WA: A=Menge, B=Art-Nr, C=Bez, D=Zus. E=EP, F=GP
'ER: H=Menge, E=Art-Nr, G=Bez, F=Bst-Nr, K=EP, M=GP, I=ME
'Makro Zuweisung an Button
Sub Button_Doppelte_Artikel()
Artikel_doppelte_auflisten
Artikel_einzeln_auflisten
End Sub
'Modul für einzelne Artikel auflisten
Sub Artikel_einzeln_auflisten()
Dim AC As Object, AJ As Object
Dim z, x, lzE As Long, lzW As Long
Set WA = Worksheets("WA_01") 'Spalte B Artikel
Set ER = Worksheets("ER_01") 'Spalte E Artikel
lzE = ER.Cells(Rows.Count, "E").End(xlUp).Row
lzW = WA.Cells(Rows.Count, "B").End(xlUp).Row
With Worksheets("Vergleich")
'LastZell zum unten anhaengen ermitteln
z = .Cells(Rows.Count, 1).End(xlUp).Row
z = z + 1 'Anzahl Leerzeilen
'Schleife in Artikel: "ER_01 + WA_01"
For Each AC In ER.Range("E2:E" & lzE)
For Each AJ In WA.Range("B2:B" & lzW)
If AJ.Value = AC.Value Then GoTo nx1
Next AJ
'Tabelle ER_01 Artikel auflisten
z = z + 1: x = AC.Row 'Zeile, Index
.Cells(z, 1) = "ER" 'Tab. Name
.Cells(z, 2) = ER.Cells(x, "H") 'Menge
.Cells(z, 3) = ER.Cells(x, "I") 'Einheit
.Cells(z, 4) = ER.Cells(x, "E") 'Artikel-Nr
.Cells(z, 5) = ER.Cells(x, "G") 'Bezeichnung
' .Cells(z, 6) = ER.Cells(x, --) '** Zusatz
.Cells(z, 7) = ER.Cells(x, "K") 'Einzelpreis
.Cells(z, 8) = ER.Cells(x, "M") 'Gesamtpreis
.Cells(z, 9) = ER.Cells(x, "F") 'Bestellnummer
nx1: 'überspringen
Next AC
z = z + 1 '2 Leerzeilen
'Schleife in Artikel: "ER_01 + WA_01"
For Each AC In WA.Range("B2:B" & lzW)
For Each AJ In ER.Range("E2:E" & lzE)
If AJ.Value = AC.Value Then GoTo nx2
Next AJ
'Tabelle ER_01 Artikel auflisten
z = z + 1: x = AC.Row 'Zeile, Index
.Cells(z, 1) = "WA" 'Tab. Name
.Cells(z, 2) = WA.Cells(x, "A") 'Menge
' .Cells(z, 3) = WA.Cells(x, --) 'Einheit
.Cells(z, 4) = WA.Cells(x, "B") 'Artikel-Nr
.Cells(z, 5) = WA.Cells(x, "C") 'Bezeichnung
.Cells(z, 6) = WA.Cells(x, "D") 'Zusatz
.Cells(z, 7) = WA.Cells(x, "E") 'Einzelpreis
.Cells(z, 8) = WA.Cells(x, "F") 'Gesamtpreis
' .Cells(z, 9) = WA.Cells(x, --) 'Bestellnummer
nx2: 'überspringen
Next AC
End With
End Sub