Hallo Zusammen, ich benötige mal wieder Ihrer Hilfe. Ich möchte mit einen Knopfdruck die Daten aus einer Excel Tabelle in die andere Excel Tabelle übertragen lassen. Es handelt sich um eine Materialübersicht und Transportschein. Die Daten werden in die Materialübersichtliste manuell eingespielt durch copy/paste, hier auch wird das ETA PORT und Transportnummer gleich eingetragen. Später wird der Transportschein erstellt in welchen die Containernummer eingetragen werden. Ich möchte folgendes erreichen durch das betätigen eines Buttons werden folgende Daten: ·Containernummer übertragen. Dabei ist es zu berücksichtigen das die Materialübersicht liste ständig gefühlt wird und der Transportscheine immer neu erstellt werden. Ich möchte eine Vorlage erstellen und dort den VBA Code einprogrammieren. Das Programm muss Materialübersicht öffnen können. Suchen nach dem Packstücken welche in der Transportschein drin stehen. Diese Positionen merken und hinter diesen Positionen die og. Angaben reinschreiben. Danach die Materialübersichtliste speichern und schlissen. PS die Adresse der Datei (Materialübersichtliste werde ich selbstverständlich abändern) Ist das möglich?
die Frage ist nicht, ob das möglich ist. Die details der Aufgabe sind zu dürftig und zu ungenau um sie lösen zu können.
Ich sehe im Transportschein z.B. die Pack Nr. P1 u nd eine Container Nummer. In der Materialliste Datei gibt es dazu aber 15 Positionen für Material. Woher sollen wir jetzt wissen welche Daten aus welcher Zeile da kopiert werden müssen. Wir können programmieren, aber nicht Hellsehen!!
Und warum kopiert ihr von Hand die Daten, statt sie auf andere Art und Weise rüberzuholen. Andere Frage: kann der Transportschein nicht in die Materialliste integriert werden? Werden die Transportscheine einzeln gespeichert? Das ist uzr Zeit alles noch zu ungenau um da mit einer Lösung anfangen zu können. Bitte gib uns dazu noch detailiertere Infos.
in der Materialübersichtliste siehts du alle Einzelpositionen welche in P1 verpackt sind. In den Transportschein siehst du nur die Packstück Übersicht, deswegen ist in Materialübersichtliste 15x P1 drin.
Die daten müssen von Transportschein in Materialübersichtliste liste Kopiert werden und zwar die Containernummer. Warum wir die Daten so reinschreiben hat seine gründe, das ist auch momentan hier egal. Nein die Transportschein kann nicht integriert werden und ja es wird pro Transport immer neu erstellt.
Ich mache es momentan so:
1. Ich Öffne Transportschein und parallel die Materialübersicht. 2. Dann setze ich in Materialübersicht den filter auf Transportnummer (diese wird beim Dateneingabe gleich mit angegeben) 3. Dann setze ich in Transportschein einen Filter auf jedes einzelne Container und sehe welche Packstücke in diesen Container verpackt sind 4. Dann setze ich den zweiten Filter in der Materialübersicht auf die Packstücke welche ich in der Transportschein sehen (nach den ich den Filter auf Container gesetzt habe) 5. Nun habe ich in der Materialübersichtsliste nur die Packstücke (mit den ganzen Inhalt) welche auch in einzelnen Conatiner verpackt sind 6. Ich kopiere die Container Nummer von Transportschein und setze diese in der Materialübersichtliste und ziehe die Container in jede Zelle welche ich in Mterialübersichtliste dargestellt wird 7. Dann setze ich den Filter auf den nächsten Container (im Transportschein) und die Prozedur beginnt von vorne, bis ich alle container durch habe
ich möchte jetzt aber das das was ich manuell mache, das Makro macht wen ich den Knopf betätige
Also Daten werden (Containernummer) aus den Transportschein in die Materialübersichtliste kopiert. Die Materialüberscihtsliste welche ich hochgeladen habe zeigt quasi das Endergebnis wie es aussehen soll nach den ich den Knopf in Transportschein gedrückt haben.
ich erinnere höflich daran das wir freiwillige Helfer sind und nicht bezahlt werden! Unsere Hilfe ist keine Auftragsarbeit. Ich bin nicht jeden Tag im Forum, habe auch Privat was zu tun, habe dich aber nicht vergessen. Wie gefaellt dir meine Lösung??
Nach drücken des Buttons sollten alle Daten übertragen sein. Meine Bitte, das Makro bitte nicht direkt in der Original Datei testen, sondern die Daten der Materialübersicht ins Beispiel laden, und dort testen ob alles Einwandfrei funktioniert. Sollte ich beim Spalten ausfüllen einen Makro Fehler haben werden sonst Originaldaten überschrieben!! Bitte das Makro erst gründlich testen!
Ich hoffe das alles so klappt wie du es dir vorstellst. Würde mich freuen .... Frohe Weihnachten aus Ankara.
Vielen Dank für die Hilfe aber um das Makro anzupassen würde ich gerne wissen was folgendes Bedeutet:
Code:
Dim AC As Range, rFind As Range
wenn ich hier das angepasst habe muss ich das "AC" anpassen
Code:
For Each AC In .Range("D16:D25000" & lz1) Set rFind = WbMt.Columns(1).Find(What:=AC, After:=Cells(1, 1), LookIn:= _ --> muss ich das auch anpassen? xlFormulas, LookAt:=xlWhole, SearchDirection:=xlNext, MatchCase:=False)
ich habe momentan zwei Fehler: Fehler ein --> er kann keine Verbindung zur der Datei herstellen, Pfad ist angepasst und auch das "MTL" PS meine Dateil liegt auf den Cloud server --> ich habe die Adresse von der Excel Datei kopiert Fehler zwei --> Laufzeitfehler 91 " Objektvariable oder With-Blockvariable nicht festgelegt --> dieser Fehler wird hier angezeigt:
die beiden Variablen sind eigene (Standard) Variable von mir. AC=ActiveCell, als Range definiert, benutze ich bei For Next um einen bestimmten Bereich Zeile für Zeile abzuarbeiten. rFind As Range benutze ich mit Set rFind bei der Suchen/Find Methode um Select zu vermeiden. Liefert die gefundene Zelle zurück, z.B. rFind.Address oder rFind.Row zum weiter bearbeiten.
Wenn du Laufzeitfehler Problem hast lade dir zum testen in der offenen Datei in einem neuen Testblatt ein paar Daten, und aendere diesen Teil bitte mal auf das neue Blatt ab. Wenn der Code mit dem Testblatt funktioniert, dann stimmt die Suchmethode! Der Fehler liegt dann iin der Festlegung von WbMt !! Was daran unstimmig ist kann ich von hier nicht feststellen.
Code:
Set rFind = WbMt.Columns(1) aendern in: Set rFind = Worksheets("neue Tabelle").Columns(1)
kannst mir eventuell helfen, ich verstehe nicht was hier falsch ist. Ich möchte mit einen Knopfdruck die Daten aus einer Excel Tabelle in die andere Excel Tabelle übertragen lassen.
Es handelt sich um eine Materialübersicht und Transportschein. Die Daten werden in die Materialübersichtliste manuell eingespielt durch copy/paste, hier auch wird das ETA PORT und Transportnummer gleich eingetragen. Später wird der Transportschein erstellt in welchen die Containernummer eingetragen werden.
Ich mache es momentan so:
1. Ich Öffne Transportschein und parallel die Materialübersicht. 2. Dann setze ich in Materialübersicht den filter auf Transportnummer (diese wird beim Dateneingabe gleich mit angegeben) 3. Dann setze ich in Transportschein einen Filter auf jedes einzelne Container und sehe welche Packstücke in diesen Container verpackt sind 4. Dann setze ich den zweiten Filter in der Materialübersicht auf die Packstücke welche ich in der Transportschein sehen (nach den ich den Filter auf Container gesetzt habe) 5. Nun habe ich in der Materialübersichtsliste nur die Packstücke (mit den ganzen Inhalt) welche auch in einzelnen Conatiner verpackt sind 6. Ich kopiere die Container Nummer von Transportschein und setze diese in der Materialübersichtliste und ziehe die Container in jede Zelle welche ich in Mterialübersichtliste dargestellt wird 7. Dann setze ich den Filter auf den nächsten Container (im Transportschein) und die Prozedur beginnt von vorne, bis ich alle container durch habe
jetzt möchte ich, das diese 7 schritte das Makro für mich übernimmt.
Die Materialübersichtliste liegt auf den Server. Gast war so freundlich schon mal einen Code zu erstellen, leider funktioniert er nicht und ich weiß nicht was falsch ist.
ich habe mal den Code angepasst, allerdings jetzt auch das Verzeichnis wo die Dateien liegen Es gab weitere Fehler, geändert hab ich neben der Zeile mit dem Pfad noch:
Const MTL = "Materialübersichtsliste.xlsx"
- .xlsx hat gefehlt, hab's an einer anderen Stelle dafür weggenommen …
If Err > 0 Then Workbooks.Open Pfad & MTL Set WbMt = Workbooks(MTL).Worksheets(1) End If On Error GoTo 0