Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1308to1312
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

Bitte um Hilfe mit Vergleichsproblem

Bitte um Hilfe mit Vergleichsproblem
26.04.2013 09:39:31
Sepp
Guten Tag,
ich habe ein Problem mit einer einfachen Aufgabenstellung und hoffe ihr könnt mir dabei helfen. Es geht um folgendes:
Ich habe in Arbeitsmappe1 eine große Auflistung von Artikeln. In Arbeitsmappe2 habe ich eine Auswahl der Auflistung aus Arbeitsmappe1.
Nun möchte ich per Formel oder VBA in Arbeitsmappe1 über der Herstellernummer UND den Preis eine Übereinstimmung suchen und dort wo es sie gibt zB.: ein OK schreiben.
Leider weiß ich gerade nicht weiter, weil es mir ständig falsche Ergebnisse zurückliefert. Ob mit Vergleich oder mit Zähelnwenns usw....
Hoffentlich kann mir jemand helfen.
Vielen Dank im Voraus!

22
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Musterdateien bitte,...
26.04.2013 10:24:45
Matze
Hallo Sepp,
mach zwei Musterdateien die deinem Aufbau entsprechen.
Warum soll nach Herstellernummer UND Preis die Übereinstimmung gesucht werden?
Die Herstellernummer ist doch womit man einen Artikel "eindeutig" macht.
Matze
Ps lasse offen, bin gleich unterwegs

AW: Musterdateien bitte,...
26.04.2013 12:08:08
Rudi
Hallo,
ABCDEFG
1datendatendatenHerstellernummerpreisdaten 
2xyxyyx25zy135xy 
3   25zy125xyOK

ZelleFormel
G2=WENN(SUMMENPRODUKT((Tabelle2!$C$2:$C$100=D2)*(Tabelle2!$D$2:$D$100=E2)*1);"OK";"")
G3=WENN(SUMMENPRODUKT((Tabelle2!$C$2:$C$100=D3)*(Tabelle2!$D$2:$D$100=E3)*1);"OK";"")

Gruß
Rudi

Anzeige
AW: Musterdateien bitte,...
26.04.2013 12:46:55
Sepp
Vielen Dank für den Tipp, ich werde es gleich einmal ausprobieren und dann nochmal Bescheid geben :)
Danke!

AW: Musterdateien bitte,...
26.04.2013 13:38:57
Sepp
Leider funktionier es bei mir aus irgendeinem Grund nicht. Die Formel wird angenommen, aber es kommt kein "OK" dabei raus, d.h. irgenwas läuft falsch mit den Bedingungen oder?

Nicht die Bedingungen sind falsch,...
26.04.2013 14:24:41
EtoPHG
, Sepp
Sondern das was du mit dem Vorschlag machst.
In deiner Beispielmappe funktionieren doch die vorgeschlagenen Formeln.
Was also ist an der produktiven Mappe anders?
Gruess Hansueli

AW: Nicht die Bedingungen sind falsch,...
26.04.2013 14:49:05
Sepp
Hier mal eine etwas genauere Datei: https://www.herber.de/bbs/user/85083.xlsx
In der ersten Arbeitsmappe soll die Formel in die Spalte OK? ...
Es gibt bei mir nach wie vor leider keine Ausgabe...die Felder bleiben leer, d.h. der Sonst-Fall tritt ein obwohl das ja nicht sein soll wenn er etwas findet, dass in den Kriterien Herstellernummer und Preis übereinstimmt...
Was mache ich falsch?

Anzeige
so eine Klammer...
26.04.2013 17:33:47
Erich
Hi Sepp,
... ist manchmal wichtig. Probier mal
 C
1OK?
2 
3OK

Formeln der Tabelle
ZelleFormel
C2=WENN(SUMMENPRODUKT((Tabelle1!$J$2:$J$2500=repWiz_343_0!K2)*(Tabelle1!$M$2:$M$2500=repWiz_343_0!M2)); "OK";"")
C3=WENN(SUMMENPRODUKT((Tabelle1!$J$2:$J$2500=repWiz_343_0!K3)*(Tabelle1!$M$2:$M$2500=repWiz_343_0!M3)); "OK";"")


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich

Anzeige
und etwas kürzer ...
26.04.2013 17:37:04
Erich
Hi Sepp,
... geht es noch, wenn der Vergleichswert im selben Blatt (repWiz_343_0) wie die Formel steht:
 C
1OK?
2 
3OK

Formeln der Tabelle
ZelleFormel
C2=WENN(SUMMENPRODUKT((Tabelle1!$J$2:$J$2500=K2)*(Tabelle1!$M$2:$M$2500=M2)); "OK";"")
C3=WENN(SUMMENPRODUKT((Tabelle1!$J$2:$J$2500=K3)*(Tabelle1!$M$2:$M$2500=M3)); "OK";"")

Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich

Anzeige
AW: und etwas kürzer ...
26.04.2013 17:40:56
Sepp
Vielen Dank für die Vorschläge, leider habe ich heute keine Zeit mehr es zu testen, aber morgen vormittag werde ich mich gleich an die Sache ranmachen!
Vielen Dank im Voraus und morgen gibts dann wieder ne Rückmeldung.
Schönen Freitag Abend!

AW: und etwas kürzer ...
28.04.2013 11:50:14
Sepp
Leider funktioniert es wieder nicht... alle Zellen bleiben leer. Die Datei ist eine .xlsb allerdings funktioniert es auch nicht wenn ich alle Daten in ein frisches Excel Blatt kopiere....
Wo ist hier nur der Fehler begraben? Langsam verzweifle ich :D

Beispielmappe ist für Fehlersuche nötig (owT)
28.04.2013 12:10:16
Erich

AW: Beispielmappe ist für Fehlersuche nötig (owT)
28.04.2013 14:10:53
Sepp
Vielen Dank für Eure Hilfe, jetzt hats doch geklappt, es lag wohl an der .xlsb ?!
Warum auch immer, aber in ner normalen .xls klappt es :)
Jetzt hätte ich gleich noch ne Frage, wäre es denn möglich per VBA abzufragen ob ein "OK" in einer Zelle steht und dann das "OK" in eine andere Zelle zu schreiben/überschreiben.
So in der Art:
if Q1="OK"
then ...

Anzeige
Warum keine Beispielmappe?
28.04.2013 19:42:43
Erich
Hi David,
"es lag wohl an der .xlsb ?!" - mit Verlaub: Das mag ich nicht glauben. :-(
So eine recht elementare Formel sollte Excel beherrschen, egal, in welchem Format die Mappe gespeichert ist.
Die Ursache dürfte eine andere sein. Ich bin immer noch interessiert... :-)
Zur VBA-Frage:
If Range("Q1") = "OK" then ...
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich

AW: Warum keine Beispielmappe?
29.04.2013 17:58:16
Sepp
Servus Erich,
ich kann es mir leider auch nicht erklären was der Fehler war. Aber ich habe tatsächlich alles so beibehalten und nur nochmal als .xls abgespeichert und schon hats funktioniert...
Ah stimmt, Range vergessen ...
Wie würde denn der Befehl weitergehen? Für das Überschreiben einer Zelle?
If Range("Q1") = "OK"
Then (Befehl für das Überschreiben) = Range ("Q2") als Beispiel ?
Danke nochmal für die Hilfe und danke im Voraus für meine nächste Frage :)

Anzeige
AW: Warum keine Beispielmappe?
29.04.2013 19:40:04
Erich
Hi David,
einen "Befehl für das Überschreiben" gibt es eigentlich nicht in VBA.
Man kann einer Zelle (oder mehreren) einfach einen Wert zuweisen.
Falls in der Zelle vorher ein Wert stand, wird der bei der Zuweisung natürlich überschrieben.
Die drei folgenden Anweisungen tun alle dasselbe:
Q2 erhält den Wert "OK" bzw. den Wert von Q1. If Range("Q1") = "OK" Then Range("Q2") = "OK" If Range("Q1") = "OK" Then Range("Q2") = Range("Q1") If Range("Q1") = "OK" Then Range("Q2") = "OK" End If Die dritte Variante mit "End If" ist zu empfehlen, wenn man außer Range("Q2") = "OK"
noch weitere Anweisungen (...) ausführen lassen will, wenn Range("Q1") = "OK" ist.
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich

Anzeige
AW: Warum keine Beispielmappe?
29.04.2013 20:10:09
Sepp
Super, Vielen Dank, ich komme heute leider nicht mehr dazu aber morgen werde ich es probieren und mich dann wieder melden!
Ich sage jetzt schon mal danke für die schnelle und kompetente Hilfe!
Super hier!

AW: Warum keine Beispielmappe?
30.04.2013 21:32:45
Sepp
Hat optimal funktioniert!
Nun stehe ich allerdings vor einem Problem, bei dem ich mir nicht sicher bin ob es in VBA überhaupt lösbar ist...
Folgendes Szenario:
Wenn Q1 = "OK" Dann X1 = "OK"
Wenn Q2 = "OK" Dann X2 = "OK"
.
.
.
usw. usf.
gibt es dafür nen Code oder muss ich das ewig so fortführen?

AW: Warum keine Beispielmappe?
01.05.2013 18:18:01
Sepp
Weiß da noch jemand was? :)

Anzeige
vorn anfangen
01.05.2013 00:57:52
Erich
Hi David,
allmählich wird dieser Thread etwas unübersichtlich. :-(
Wer erinnert sich noch daran, dass es anfangs um Excelformeln für einen Vergleich ging?
Und nun sind wir anscheinend in einem VBA-Grundkurs...
Damit der Thread nicht auch noch optisch nach rechts aus dem Ruder läuft, fange ich mal wieder links an.
Zu
Wenn Q1 = "OK" Dann X1 = "OK"
Wenn Q2 = "OK" Dann X2 = "OK"
usw.

Du hast nicht angegeben, in wie vielen Zeilen die Belegung stattfinden soll.
Ich geh mal von den ersten 47 Zeilen aus:

Option Explicit
Sub aTest()
Dim zz As Long
For zz = 1 To 47        ' alle Zeilen von 1 bis 47
'  Q ist die 17. Spalte      X ist die 24. Spalte
If Cells(zz, 17) = "OK" Then Cells(zz, 24) = "OK"
Next zz
End Sub
Ich habe hier statt Range("Q1") die Schreibweise Cells(1, 17) benutzt - dabei lässt sich die 1 leichter
durch eine Variable zz ersetzen.
Deine Fragen zeigen mir, dass du dich mit VBA, mit Programmierung allgemein kaum auskennst.
Ich empfehle dir, mit Hilfe eines Buches und anhand konkreter Aufgaben in die Materie einzusteigen.
Nein - ein bestimmtes Buch kann ich dir nicht empfehlen. Du musst selbst (in der Buchhandlung) herausfinden,
welches Buch zu dir, deinen Vorkenntnissen und Zielen passt.
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich

Anzeige
vorn anfangen - noch einmal
01.05.2013 19:39:38
Erich
Hi David,
hast du meinen letzten Beitrag (vom 01.05. um 00:57:52 Uhr) nicht wahrgenommen, hast du da keine Mail erhalten?
Siehe mal im Archiv nach:
https://www.herber.de/forum/archiv/1308to1312/t1310577.htm#1311242
Meinen Beitrag findest du natürlich auch in der aktuellen Forumsliste. Such hier doch mal nach:
vorn anfangen
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich

AW: vorn anfangen - noch einmal
02.05.2013 21:24:06
Sepp
Vielen Dank! habe es jetzt gelesen, werde es wie immer morgen testen und dann nochmal ne Rückmeldung geben.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige