Wert in 2 Tabellen vergleichen und Daten wiedergeb

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: Wert in 2 Tabellen vergleichen und Daten wiedergeb
von: Sevde
Geschrieben am: 01.12.2015 20:10:11

Hallo :)
Ich habe zwei Tabellen in der 1.Tabelle sind Bestellungen aufgelistet und in der 2.ten Tabelle sollen durch ein Buttonklick die Projekte mit den zugehörigen Material Nummern etc aufgelistet werden.
Hierbei muss in Tabelle 2 in die Zelle C32 die Projektnummer eingegeben werden. Excel soll in der Tabelle 1 spalte D nach dieser Projektnummer suchen (es werden mehrere gleiche Projektnummer geben) und alle Daten, die zu dieser Projektnummer gehören aus der Tabelle 1 wie
Bestellnummer (ab A8); MaterialNr(ab F8); Bezeichnung (ab G8); LieferantenNr (ab H8), Lieferant (ab I8); Preis (ab J8); und Menge (ab M8) in die Tabelle 2 in einen Vorbestimmten Bereich einfügen.
(Der vordefinierte Bereich:
MaterialNr C35:C54
Bezeichnung D35:D54
LieferantenNr E35:E54
Lieferant F35:F54
bestellungsNr G35:G54
Preis H35:H54
Menge I35:I54)
Ich komme leider gar nicht weiter und hoffe auf schnelle Hilfe
Gruß

Bild

Betrifft: mit Beispieldatei geht's einfacher,
von: Michael
Geschrieben am: 01.12.2015 20:13:50
Sevde,
da müssen wir uns nichts zusammenbasteln.
Schöne Grüße,
Michael

Bild

Betrifft: AW: Wert in 2 Tabellen vergleichen und Daten wiedergeb
von: Sevde
Geschrieben am: 02.12.2015 17:31:51
Hallo Michael,
natürlich müssen tust du nichts.
Ich wäre nur Dankbar für jede Hilfe :)
Anbei die Datei
https://www.herber.de/bbs/user/101969.xlsm
Grüße
Sevde

Bild

Betrifft: nur die halbe Miete
von: Michael
Geschrieben am: 02.12.2015 18:41:38
Hallo Sevde,
das "müssen" war nicht so gemeint, aber wenn Du gerne "schnelle Hilfe" hättest, können wir, die Helfer, das Problem schneller auf den Punkt bringen, wenn wir uns nicht erst um den Aufbau der Tabelle kümmern müssen.
Daher möchte ich Dich bitten, uns eine zumindest mit ein paar Spieldaten versehene Tabelle zur Verfügung zu stellen - damit ich mir die Testdaten nicht aus den Fingern saugen muß: das kostet alles unnütze Zeit.
Zur Tabelle2 mächte ich anmerken, daß so eine Struktur erfahrungsgemäß immer wieder mal zu Problemen führt: Du möchtest ja nicht nur die Zeilen 35 bis max. 54 mit Daten füllen, sondern die weiteren Projekte auch.
Derart untereinander geschriebene Tabellen sind immer übel zu programmieren und außerdem nicht flexibel, wenn denn in einem Projekt mal mehr als 20 Posten vorkommen.
Ich schlage vor, daß wir die Tabelle2 (zumindest gedanklich) aufteilen in eine Übersichtstabelle, die nur den Bereich bis Zeile 30 enthält. Die einzelnen Projekte verpacken wir dann sinnvollerweise in einzelne Tabellenblätter. Wenn man dann noch die Summe *oben* anbringt statt unten, kann man problemlos beliebig viele Zeilen anfügen: das vereinfacht die Programmierung erheblich.
Außerdem könntest Du, was in der Praxis sicher erwünscht ist, auf jedem einzelnen Projektblatt noch weitere Daten (Auftraggeber, Anschrift usw.) anbringen, so daß es sich hübsch ausdrucken läßt.
Kurzum: ich würde die Übersichtstabelle als "Zentrale" verwenden und von hier aus das Makro starten, das evtl. die einzelnen Projektblätter (sofern nicht bereits vorhanden) sogar direkt erzeugt - no big deal.
So weit zur Konzeption.
Schöne Grüße,
Michael

Bild

Betrifft: AW: nur die halbe Miete
von: Sevde
Geschrieben am: 02.12.2015 20:48:49
Hallo Michael,
also erstmal im Voraus vielen vielen Dank für deine Hilfe du kannst dir garnicht vorstellen seit wie vielen Tagen ich an dieser Tabelle sitze.
Habe einige Daten eingetragen hoffe die Anzahl passt soweit. https://www.herber.de/bbs/user/101974.xlsm
Ist es vielleicht möglich, dass die Daten per Button-Klick in die Projektübersicht übertragen werden, wenn in die Spalte "Wareneingang" ausgefüllt wurde und anschließend gelöscht wird, so das in dem Tabellenblatt "Übersicht Bestellungen" nur Bestellungen stehen, bei denen kein Wareneingang gebucht worden ist?
Ich habe jetzt ein Tabellenblatt, in dem nur alle Projekte stehen und die Kunden. Habe dann vor ein Hyperlink einzubauen, indem man direkt auf das Tabellenblatt von Projekt gelang. Beispielhaft habe ich jetzt ein Tabellenblatt für die Projekte entworfen. Ich denke, dass du das so meintest.
Die Datei die oben ist, ist eigentlich nur ein Teil von meiner gesamten Datei. In der eigentlichen Datei gibt es ein Tabellenblatt nur für die Lieferanten. Ist es möglich, dass die Kommentare zur Qualität der Bestellung in die "Lieferanten Übersicht" eingetragen werden? (Wenn das zu Aufwendig ist kann man das auch weglassen)
Damit du eine Vorstellung bekommst wie meine eigentliche Datei aussieht: https://www.herber.de/bbs/user/101975.xlsm
Die Meisten Tabellenblätter habe ich schon programmiert (Wahrscheinlich sehr kompliziert und aufwendig.
Zur Info: die weißen Zellen sind leere Zellen, in der man manuell alles einträgt; die hellgrauen Zellen sind Verformelt(meist Sverweis); die hellblauen Zellen sind Auswahlfelder (Dropdown) und die anderen blauen Felder sind die, die via Programmierung befüllt werden.
Nochmals vielen Dank :)
Schöne Grüße
Sevde

Bild

Betrifft: jetzt wird es deutlicher,
von: Michael
Geschrieben am: 02.12.2015 22:23:11
Sevde,
bevor ich mich an die Programmierung mache, schnell der Hinweis: auch verbundene Zellen sind der natürliche Feind des Programmierers.
Wozu sind in der Bestellübersicht NO und PQ verbunden? Die Spaltenbreite kann man sich doch einstellen, wie man will.
Eine Übernahme aus der Bestellübersicht geht schon, allerdings sind hier ja Spalten vorhanden, die in den Projekten nicht vorhanden sind, d.h., es würden Infos verloren gehen.
Eine Übernahme der "Qualität" geht natürlich auch, aber entweder aufwendig auf die vier Spalten bei den Lieferanten verteilt oder immer nur die letzte.
Die Preise der Bestellungen sind sicher Einzelpreise und im Projekt EP * Menge?! Evtl. im Projekt noch eine zusätzliche Spalte...
Schöne Grüße,
Michael

Bild

Betrifft: Teste mal...
von: Michael
Geschrieben am: 03.12.2015 00:38:52
Hi Sevde,
ich habe in der Bestellübersicht einen Button angebracht, der alle Projekte zusammensucht und in die Projektübersicht kopiert. Damit dortige Eingaben nicht verlorengehen, werden "neue" Projekte immer unten angehängt, unabhängig von der Nummerierung.
Weiterhin werden neue Tabellenblätter mit den entsprechenden Namen angelegt, sofern sie noch nicht vorhanden sind.
Die Programmierung ist wahrscheinlich für Dich schwer nachvollziehbar, sorry, aber ich wollte lieber "schnell" als nachvollziehbar arbeiten.
Ok, die Übernahme einzelner Zeilen aus der Bestellübersicht in die einzelnen Projekte habe ich per Doppelklick in die Datumsspalte gelöst.
Die Datei: https://www.herber.de/bbs/user/101979.xlsm
Ach so, das noch: ich habe keine Fehlerroutinen eingebaut, d.h. wenn ein Blatt nicht vorhanden ist, wenn eine Zeile geschrieben werden soll, bricht das Makro ab. Also: zuerst "aktualisieren".
Schöne Grüße,
Michael
P.S.: Habe grade noch einen Fehler gesehen, will die Datei aber nicht nochmal hochladen: wenn die Zeile nach dem Kopieren gelöscht werden soll, wird das Makro abgebrochen.
Die Zeile muß richtig heißen:

Range("a" & z & ":O" & z).ClearContents

(bisher stand N statt O drin)

Bild

Betrifft: AW: Teste mal...
von: Sevde
Geschrieben am: 04.12.2015 09:22:45
Guten Morgen Michael,
du bist wahrlich ein Held. Funktioniert einwandfrei. Ich habe die Verbundenen Zellen wieder getrennt. Mit dem Preis hast du Recht, da muss ich mir mal etwas Neues einfallen lassen. Ich habe vor die Spalten in den einzelnen Projekten zu erweitern, damit die Daten nicht verlorengehen.
Ein Anliegen hätte ich noch. Ist es möglich, dass nachdem die Zeile gelöscht wird die Daten die darunter sind hochrutschen damit keine Zeile oben frei bleibt?
Ich danke dir vielmals für deine Hilfe und Mühe. Ich kann dir für deine Hilfe eigentlich nicht genug Danken
Schöne Grüße
Sevde

Bild

Betrifft: Gerne, und freut mich,
von: Michael
Geschrieben am: 04.12.2015 09:40:48
Sevde, auch guten Morgen,
wenn es gefällt.
die obengenannte Zeile mit dem .ClearContents leert alle Inhalte, sie muß nur durch .delete ersetzt werden, damit die Zeile gelöscht wird. Weil Inhalt und Überschrift der MsgBox vertauscht waren, nochmal das komplette Häppchen:

     If MsgBox("Wirklich löschen?", vbYesNo, "Kopieren fertig") = vbYes Then
       z = Target.Row
'       Range("a" & z & ":O" & z).ClearContents
        Rows(z).Delete
     End If
Happy Exceling,
Michael

Bild

Betrifft: AW: Gerne, und freut mich,
von: Sevde
Geschrieben am: 05.12.2015 12:44:25
Hallo Michael,
ich habe deinen Code in meine Datei kopiert und alles sieht aus wie bei dir.
Aber ich bekomme immer eine MsgBox mit der Fehlermeldung "Fehler" wenn ich den Button "Projekte aktualisieren" anklicke.
In deiner Datei funktioniert es super aber wenn ich alles in meine Datei kopiere mach excel nichts.
Kannst du mir vielleicht helfen diesen Fehler zu beheben?
Schöne Grüße
Sevde

Bild

Betrifft: Mal sehen
von: Michael
Geschrieben am: 05.12.2015 16:26:21
Hi Sevde,
die MsgBox "FEhler" erscheint, wenn bis1 größer von1 ist, wobei von1 händisch für die erste Datenzeile unterhalb der Überschriften festgelegt wird.
Ich vermute, daß Du Deine Daten eventuell in anderen Zeilen stehen hast.
Das Makro "Aktualisieren" kannst Du im VB-Editor mal zeilenweise mit der F8-Taste durchgehen, dann wird das Makro Zeile für Zeile abgearbeitet, und wenn Du den Mauszeiger über eine Variable ziehst, dann wird deren Wert als Tooltip angezeigt.
Der Vorteil ist, daß Du während dieser Abarbeitung des Makros mal ins Tabellenblatt spitzen kannst, um zu sehen, was das Makro gerade treibt.
Ich habe heute und morgen keine Zeit; evtl. schreib mir ne mail mit Deiner Original-Datei; Info dazu in den Profilen: https://www.herber.de/cgi-bin/profile/call_profile.pl?user=1857094
Schöne Grüße,
Michael

Bild

Betrifft: AW: Mal sehen
von: Sevde
Geschrieben am: 05.12.2015 19:07:01
Hallo Michael,
hab mir alles angeguckt aber konnte den Fehler nicht finden :S
Hab dir die Datei geschickt.
Vielen Dank im Voraus
Schönes WE
Grüße
Sevde

Bild

Betrifft: scheinbar 2 Fehler
von: Michael
Geschrieben am: 06.12.2015 17:18:32
Hallo Sevde,
anscheinend gibt es zwei Fehler:
a) der Button "Projekte Aktualisieren" findet das Makro nicht (rechte Maustaste - im Kontextmenü auf "Makro zuweisen" - im dann folgenden Dialog ist ein Pfad auf eine andere Datei angegeben), so daß hier der Button "Bearbeiten" fehlt. Wenn man es nicht bearbeiten kann, kann man es auch nicht ausführen.
(Illustration als email)
b) tatsächlich sind in dieser Testdatei keine Daten vorhanden, so daß der "Fehler" angezeigt wird, weil bis1 kleiner von1 ist.
Klar: von1 hat (richtig) den Wert 8 für die erste Zeile, die Daten enthalten kann.
bis1 wird ermittelt, indem Excel in Spalte D vom Tabellenende (rows.count) nach oben springt (end(xlup)), eben bis zur untersten, mit Werten gefüllten Zelle. Weil keine Daten da sind, ist das die Überschriften-Zeile mit der Nr. 7.
Im Bild ist der Mauszeiger nicht zu sehen, aber er steht in der zeilenweisen Abarbeitung (eben mit F8) über der Variablen bis1:
Userbild
Das ist kein eigentlicher Fehler im Makro, sondern ein Sicherheitsmechanismus, der verhindern soll, daß das Makro irgendetwas tut, wenn keine Daten vorhanden sind: und offensichtlich ist das richtig so.
Schöne Grüße,
Michael

Bild

Betrifft: AW: scheinbar 2 Fehler
von: Sevde
Geschrieben am: 08.12.2015 14:07:51
Hallo Michael,
hast Recht nachdem ich dem Button ein Makro zugewiesen hab und in den Zellen befüllt waren hat es funktioniert.
Vielen Dank für deine tagelange Hilfe :)
Schöne Grüße
Sevde

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Wert in 2 Tabellen vergleichen und Daten wiedergeb"