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

Selektive Übergabe von Zell-Werten in andere Datei

Selektive Übergabe von Zell-Werten in andere Datei
31.03.2014 16:39:32
Zell-Werten
Folgende Situation: 2 Excel-Dateien; Datei_1 und Datei_2
Datei_1 ist ein Formular zum Sammeln von Daten und wird immer unter einem eindeutigen Namen (Tracking-Number) abgespeichert, der in Zelle B2 steht.
In Datei_2 werden alle gesammelten Daten für weitere Auswertungen nochmals eingegeben und zeilenweise aufgelistet. Die Tracking-Numbers stehen hier in Spalte A.
Um diese doppelten Eingaben zu vermeiden, schwebt uns folgende Lösung vor:
Das Makro muss nachschauen, ob die Tracking-Number aus Datei_1 (B2) schon in Datei_2 (Spalte A) existiert. Wenn nein, gehe in Datei_2 zur ersten leeren Zeile und schreibe die Werte aus Datei_1 in diese leere Zeile, also z.B.: Datei_1(B2) in Datei_2(Ax), Datei_1(C3) in Datei_2(Bx), Datei_1(D4) in Datei_2(Cx) USW. Darüber hinaus soll die Tracking-Number in Spalte Ax mit der entsprechenden Datei (Tracking-Number.xlsm) verlinkt werden.
Wenn ja, also Tracking-Number existiert schon, dann soll die Abfrage erscheinen: "Tracking-Number existiert bereits. Daten überschreiben? Ja/Nein". Bei JA sollen dann die Werte in der entsprechenden Zeile überschrieben werden. Bei NEIN soll nichts passieren und das Makro einfach enden.
Ich hoffe, die Beschreibung ist einigermaßen verständlich und jemand kann mir hier helfen. Danke schon mal im Voraus.

33
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Selektive Übergabe von Zell-Werten in andere Datei
31.03.2014 22:19:39
Zell-Werten
zeig mal Bsp-Dateien von Datei_1 und Datei_2. Von uns weiß doch keiner, wie deine Dateien aufgebaut sind.

AW: Selektive Übergabe von Zell-Werten in andere Datei
01.04.2014 09:27:11
Zell-Werten
Hallo Oberschlumpf, Danke dass Du Dich meines Problems annimmst. Hier die Beispieldateien:
Datei_1 https://www.herber.de/bbs/user/89936.xlsm
Datei_2 https://www.herber.de/bbs/user/89937.xlsm
In Datei_1 muss man die rot markierten Felder ausfüllen. daraus setzt sich die Tracking-Number zusammen, unter der dann nach Click auf "Save as..." die Datei gespeichert wird. Anschließend sollte nun das zweite Makro wie im Eingangsthread beschrieben starten und die Daten übertragen. Als Beispiel hierfür habe ich mal zwei Datenfelder in Datei_2 rot markiert (VIN und MILEAGE)
Noch Fragen? Vielen Dank schon mal !!

Anzeige
AW: Selektive Übergabe von Zell-Werten in andere Datei
01.04.2014 11:11:56
Zell-Werten
Hi #Name?
Ja, hab noch n paar Fragen.
Kannst du mir die beiden Dateien noch mal bitte als xls-Datei schicken?
Dazu musst du erst Speichern unter... und dann den richtigen Dateityp auswählen, eben xls.
Ich nutze noch immer Excel 2003 und deine Dateien werden nicht richtig dargestellt, weil 2003 noch nicht alle Befehle kennt, die in ab 2007 verwendet werden können.
So sieht es bei mir für Datei1 aus:
Userbild
Der Save-Button verdeckt die Zelle B2 komplett.
Ich hab den Button mal zur Seite geschoben.
Das Datum is weiß, und die Schrift nur 1 Punkt groß.
In B2 steht nur ein Datum, der 28.03.2014
Wie setzt sich nun "eure" Trackingnumber zusammen?
Oha!
Nun sehe ich gerade in eurem SaveAs-Code, dass gespeichert wird als das, was in C2 drin steht.
In C2 steht: SR20140328_01
Ist DAS nun eure Trackingnr?
Warum schreibst du dann, die Trackingnr steht in B2?
Und dann...
...schreibst du im Eingangsthread:
Das Makro muss nachschauen, ob die Tracking-Number aus Datei_1 (B2) schon in Datei_2 (Spalte A) existiert.
Aber leider gibt es in Datei2 nicht mal eine Bsp-Datenzeile.
Hmm..bitte trag in Datei2 n paar Zeilen ein - das gehört noch zu deinem Job
Ich versuch dann, meinen zu machen.
Im Mom bin ich eher verwirrt, weil es zumindest bis jetzt den Anschein hat, dass so einiges, was du geshcrieben hast, nicht mit dem passt, was in den Dateien zu sehen ist.
Ciao erst mal
Thorsten

Anzeige
AW: Selektive Übergabe von Zell-Werten in andere Datei
01.04.2014 12:58:34
Zell-Werten
Sorry für die Verwirrung ! Also:
1. Tracking-Number steht in Datei_1, Zelle C2 und setzt sich zusammen aus den Zellen E2&G2
2. In Datei_2 stehen die Tracking-Numbers in Spalte A
3. Habe in Datei_2 zwei Beispieldatensätze mit je drei Werten eingetragen.
Insgesamt müssen sehr, sehr viele Werte übertragen werden, dass mache ich dann schon selbst. Ich bräuchte nur ein, zwei Beispiele, wie die Syntax ist. Also nimm doch mal bitte z.B.:
Inhalt von Datei_1, Zelle C6 kopieren in Datei_2, Zelle Ix
Inhalt von Datei_1, Zelle E6 kopieren in Datei_2, Zelle Tx
Inhalt von Datei_1, Zelle E9 kopieren in Datei_2, Zelle Nx
wobei x für die entsprechende Zeile steht, in der die Werte eingetragen werden.
Und hier nun die beiden Dateien im xls-Format:
Datei_1: https://www.herber.de/bbs/user/89941.xls
Datei_2: https://www.herber.de/bbs/user/89942.xls
Danke für die Hilfe und ich hoffe mal, Du siehst nun etwas klarer.
Ergänzung: In Datei_1 ist im Feld B3 eigentlich ein Datums-Popup zum Auswählen des Datums. Das ist beim Speichern leider verloren gegangen. Dieses ausgewählte Datum wird in B2 geschrieben und C3 holt es sich daraus und formatiert es entsprechend.

Anzeige
AW: Selektive Übergabe von Zell-Werten in andere Datei
01.04.2014 17:54:01
Zell-Werten
ok, dann ohne Begrüßung.
So...puhh...ganz schön anstrengend!
hier mal die Bsp-Dateien mit meinem Code in Datei 1
Datei 1
https://www.herber.de/bbs/user/89949.xls
Datei 2
https://www.herber.de/bbs/user/89948.xls
Meine Subs sind sbSavedAs + sbToSave
sbToSave wird von sbSavedAs aufgerufen und kann nicht allein gestartet werden.
So, mein Code macht das hier:
Du klickst auf den Button SaveAs
Zuerst wird geprüft, ob Datei 2 schon geöffnet. Wenn nicht, wird Datei2 geöffnet
Dann wird in Datei 2, in Spalte A nach dem Wert aus C2 in Datei1 gesucht
Wenn gefunden, wird gefragt, ob überschrieben werden soll
Wenn ja, werden die Daten in Datei2 in der gefundenen Zeile mit den Daten aus Datei1 überschrieben
Wenn nein, wird der Code einfach abgebrochen und nix passiert
Wird der Wert in C2, Datei1 NICHT in Datei2 gefunden, werden die neuen Werte in die nächste, freie Zeile in Datei2 eingetragen
Nun wird das Speichern Unter-Fenster angezeigt
Als Dateinamensvorschlag erscheint der Wert aus C2 (Tracking-Number)
Wird die Datei1 mit neuem oder eigenem Namen gespeichert, wird in Datei2 in Spalte A in der richtigen Zeile ein Hyperlink hinzugefügt
Wird Datei1 NICHT gespeichert, sind zwar schon die Daten in Datei2 vorhanden, aber es gibt keinen Hyperlink in Spalte A, da ja keine Datei vorhanden.
Im Code hab ich auch noch mal viel erklärt.
Hilft es?
Ciao
Thorsten

Anzeige
AW: Selektive Übergabe von Zell-Werten in andere Datei
02.04.2014 08:18:38
Zell-Werten
Einen wunderschönen guten Morgen, lieber Thorsten ;-)
Da bin ich echt geplättet. Auf den ersten Blick genau so, wie ich es brauche. Bin die nächsten beiden Tage geschäftlich unterwegs und weiß nicht, ob ich zum ausgiebigen Testen, Namen anpassen und weitere zu kopierende Felder einfügen komme, aber eins kann ich schon mal sagen: DU BIST DER BESTE !! Hast Du PayPal? Würde Dir gerne virtuell einen ausgeben.
Also: vielen herzlichen Dank nochmal !
Bis die Tage .....
Stefan

AW: Selektive Übergabe von Zell-Werten in andere Datei
02.04.2014 10:15:48
Zell-Werten
Hi Stefan
Jippiehh :-) Freut mich natürlich, dass ich dir erst mal helfen konnte!
Mich "stört" aber noch ein wenig der Umstand, dass ein Hyperlink erst dann gesetzt werden kann, wenn die Datei im Speichern Unter-Fenster auch wirklich gespeichert wird.
Weil ja eben ein Hyperlink nur Sinn macht, wenn das "Ziel" auch vorhanden ist.
1) So hättest du unter Umsänden also in Datei 2 Einträge mit und ohne Hyperlink in Spalte A.
Ok, so würde man auf den ersten Blick erkennen, zu welchen Einträgen in Datei 2 die Dateien mit Name = Tracking-Number gespeichert wurden oder nicht.
2) Ich könnte mir noch vorstellen, wenn Dateien mit Namen als Tracking-Number NICHT gespeichert werden, dass dann die Werte in Datei 2 wieder entfernt (neuer Eintrag) oder zurückgesetzt (vorhandener, überschriebener Wert) werden, so dass wirklich nur Einträge in Datei 2 für gespeicherte Dateien erfolgen.
Da ich aber nicht weiß, ob 1) oder 2) für dich ok ist, hab ich es erst mal so wie in 1) gelassen.
Du kannst mich für weitere Fragen auch gern an neueaddy@gmx.de anschreiben, wobei es wegen der möglichen Treffervielfalt natürlich besser ist, mit Fragen im Forum zu "bleiben".
Ciao
Thorsten

Anzeige
AW: Selektive Übergabe von Zell-Werten in andere Datei
02.04.2014 11:40:45
Zell-Werten
Hi Thorsten,
vom logischen Ablauf her wird es immer so sein, dass nach Ausfüllen des Formulars (Datei1) dieses auch unter der Tracking-Number gespeichert wird. Es sollte also nicht vorkommen, dass Werte in Datei2 übertragen werden und Datei1 nicht gespeichert wird. Von daher: könnte man das Speichern der Datei1 nicht einfach an den Anfang des Makros stellen? Dann würde es auf jeden Fall immer Hyperlinks geben.
Wenn das dann alles steht, sollen die Files alle auf Sharepoint gehostet werden. Denkst Du dass gibt Probleme beim Speichern, also Anpassen der Pfade?
Gruß Stefan

Anzeige
AW: Selektive Übergabe von Zell-Werten in andere Datei
02.04.2014 11:48:38
Zell-Werten
Eins ist mir noch aufgefallen: wenn Datei2 nicht geöffnet, läuft das Makro ohne Fehler durch. Ist Datei2 allerdings bereits offen, meldet sich der Debugger in dieser Zeile:
For lloRow = 2 To .Cells(Rows.Count, 1).End(xlUp).Row
Kannst Du bitte nochmal schauen?

AW: Selektive Übergabe von Zell-Werten in andere Datei
02.04.2014 12:26:30
Zell-Werten
bei mir funktioniert alles, auch wenn ganz viele andere Excel-Dateien geöffnet sind, die mit deinen datei1 + datei2 nix zu tun haben.
Wichtig ist, dass du im Code wirklich jede Zeile anpasst, in der jetzt noch "datei2.xls" steht.
Überall da musst du DEN Dateinamen eintragen, den bei dir die datei2 wirklich hat.
Da ich ja den Namen nicht kenne, hab ich meine Datei eben datei2.xls genannt.
Hilfts?
Ciao
Thorsten
ps wegen des Speicherns guck ich noch mal und melde mich wieder

Anzeige
AW: Selektive Übergabe von Zell-Werten in andere Datei
02.04.2014 13:07:31
Zell-Werten
OK, das war's. Jetzt läuft's. Bis auf dieses:
Wenn ich über den Hyperlink eine Datei öffne, Änderungen vornehme und diese Änderungen dann wieder in Datei2 übertragen lassen möchte, kann ich die Datei1, die ja jetzt als Namen die entsprechende Tracking-Number hat, nicht wieder speichern, also quasi nur überschreiben. Da meldet sich der Debugger hier:
ThisWorkbook.SaveCopyAs lvarSaved
Da der Dateiname ja bereits im Verzeichnis existiert, müsste die Datei nur mit Warnung überschrieben werden können.

AW: Selektive Übergabe von Zell-Werten in andere Datei
02.04.2014 15:22:17
Zell-Werten
Hi Stefan
hier Datei1 in Version xyz :-)
https://www.herber.de/bbs/user/89957.xls
a) daran, dass ncht nur in eine Richtung ändern, speichern möglich sein muss, sondern dass das Gleiche auch "rückwärts" von einer neu erstellten Datei mit Track-Number als Dateiname auch möglich sein muss, hatte ich gar nicht gedacht
b) und was für ne schwere Geburt a) für mich war!...ui ui uihh
Erst mal der Versuch, genau so wie du vorzugehen - Datei über Link öffnen,ändern,speichern - führte bei mir natürlich auch zum Fehler
Bei echt vielen Versuchen, dieses Problem zu beseitigen, stand ich zuerst echt lange auf'm Schlauch!
Es klappte einfach nicht.
Aber dann...jippiehh!!...war mein letzter Versuch endlich der Richtige - oh yeah :-)
Vorm Speichern wird geprüft, ob Dateiname von der Datei, in der auf SaveAs geklickt wird, Datei1 ist oder eine Datei, geöffnet durch Link
Wenn Dateiname von "SaveAs"-datei Speichername, unter dem gespeichert werden soll...
...dann kommen die Änderungen aus Datei1, und die Datei wird als Kopie von Datei1 + als neue Datei in C:\Data\track-number.xls gespeichert
Wenn Dateiname von "SaveAs"-datei = Speichername...
...dann kommen die Änderungen aus der Datei, die per Link geöffnet wurde, also eine schon erstellte Datei mit irgdeiner Track-Number als Name wird einfach überschrieben - es werden weder Änderungen in Datei1 durchgeführt, noch wird eine neue Datei erstellt
puhhhh... :-)
Danke übrigens für das immer wieder nette Feedback. Is hier zwar keine Bedingung, aber die Antworter freuen sich natürlich auch über positive Rückmeldungen.
Ich bin sicher, du wirst alles noch mal genau testen.
Aber so solls ja auch sein!
Ciao
Thorsten
hach..Standardfrage vergessen...läufts denn nun? :-))

Anzeige
Korrektur
03.04.2014 01:34:01
Oberschlumpf
Hi Stefan
Ich hatte noch was vergessen.
Du wolltest ja vor dem Abspeichern einer schon vorhandenen Datei mit Tracking-Number als Namen eine Sicherheitsabfrage, ob gespeichert werden soll.
In der letzten Version xyz ist es nicht vorhanden.
Aber jetzt in Version yzAA :-) gibt es ne Sicherheitsabfrage.
https://www.herber.de/bbs/user/89968.xls
Nun bin ich aber (fast) sicher, dass all deine Wünsche erfüllt sind, oder? :-)
Ciao
Thorsten

AW: Korrektur
03.04.2014 12:45:23
rosa001
Hallo Thorsten,
wie gut, dass Du Dir nur fast sicher bist, ich habe da tatsächlich noch was. Dürfte bei einem Crack wie Dich aber nur ein müdes Lächeln hervor rufen :-)
Also vorneweg: ALLES funktioniert. Super! Danke !
Ich habe mich aber vermutlich am Anfang nicht klar genug ausgedrückt: Datei1 ist ein Formular-Template, welches ausgefüllt und dann als Tracking-Number.xls gespeichert wird. Das hast Du ja auch perfekt umgesetzt. Allerdings bleibt danach Datei1 mit den ausgefüllten Werten geöffnet. Vom logischen Ablauf her erwartet man aber eher: Datei Tracking-Number.xls ist nun geöffnet(mit den ausgefüllten Werten) und Datei1 wird geschlossen und zwar ohne zu speichern, damit die eingetragenen Werte nicht mitgespeichert werden und beim nächsten Aufruf die Datei1 wieder als leeres Formular angezeigt wird.
War das einigermaßen verständlich? Also Datei1 ohne zu speichern schließen und die eben gespeicherte Tracking-Number.xls anzeigen.
Darüber hinaus wäre es schön, wenn man in Datei2 die soeben eingetragenen Werte als markierte Zeile angezeigt bekäme.
Die beiden Sachen dürften jetzt nicht sooo kompliziert sein, oder?
Danke & Gruß
Stefan

Anzeige
AW: Korrektur
03.04.2014 13:26:41
Oberschlumpf
moin stefan
na ja,eigtl dachte/hoffte ich schon,dass nun alles fertig ist :-P
nun wart ich gerade in nem restaurant auf mein jägerscnitzel + pommes.
bis ich wieder zu hause bin, dauert.
dann guck ich noch mal.
ciao
thorsten

AW: Korrektur
03.04.2014 14:17:12
rosa001
Kein Stress, das hat Zeit.
Guten Appetit !

AW: Korrektur
03.04.2014 15:03:14
Oberschlumpf
Hi Stefan
Stimmt, du hast dich am Anfang nicht klar genug ausgedrückt.
Mir war genau das shcon selbst aufgefallen, dass es Sinn machen würde, nach Speichern unter Name mit Trck-Nr die Datei1, weil Vorlage, zu schließen, aber eben genau diese Info kam nie von dir.
Und nur weil ICH denke, so oder so is besser, heißt das nohc kange nicht, dass es bei euch im Life-Betrieb dann tatsächlich von Vorteil ist.
So hab ich immer nur "brav" genau das getan, was du konkret + deutlich beschrieben hattest.

Die Datei https://www.herber.de/bbs/user/89975.xls wurde aus Datenschutzgründen gelöscht


Aber ok.
Nun "reagiert" Datei1...
...wenn gespeichert unter Trck-Nr, dann erst DateiTrck-Nr öffnen und Datei1 ohne speichern schließen
(wenn umgekehrt, dann is Code direkt vorm Öffnen der anderen Datei...WECH)
...wenn gespeichert + Daten in Datei2 eingetragen sind, wird genau die geänderte oder hinzugefügte Datenzeile direkt unterhalb der Überschriftenzeile "bewegt" und die Zeile ist von Spalte A-AN ausgewählt.
Man könnte jetzt noch...
...nein nein nein! :-) Ich hab gar keine weiteren Ideen :-)
Läufts denn?
Ciao
Thorsten

AW: Korrektur
03.04.2014 16:01:20
rosa001
Ja Thorsten, läuft super. 89975.xls muss ich allerdings noch testen. Derzeit kämpfe ich mit dem blöden DatePicker. Wenn man Datei1 speichert und wieder aufruft, ist der DatePicker nicht mehr anwählbar. Man könnte das Datum ja auch händisch eingeben, ab es wäre halt eleganter, dieses auszuwählen.
Ansonsten passe ich das Formular an und füge die zu übertragenden Werte ins Makro ein.
Melde mich morgen wieder, wenn ich Deine neue Datei getestet habe.
Stefan

AW: Korrektur
03.04.2014 16:12:12
rosa001
PS: was hättest Du denn noch für tolle Ideen? Ist immer hoch interessant, sowas mal von einem nicht Betriebs-Blinden zu hören!

AW: Korrektur
03.04.2014 16:23:23
Oberschlumpf
Hi Stefan
erst mal, die Probs mit dem DatePicker sind mir bekannt
(wenns das is, was ich meine...gibt es in XL2003 auch schon)
Jdfalls hab ich damit auch schon öfter gekämpft, und entweder nur mit Mühe gewonnen oder ....verloren :-)
Auf jeden Fall mach ich um den DatePicker nun n großen Bogen, weil...macht keinen Spaß.
Nein, frag mich gar nicht erst, da kann ich nich helfen! :-)
Meine Ideen..hmm..eigtl nur eine
Mich "stört" so n bisschen, wenn Datei mit trcknr gespeichert werden soll, dass dann immer das Speichern Unter-Fenster aufgeht.
Weil jeder könnte die Datei nun unter beliebigem Namen in einem beliebigen (zugriffsberechtigten) Verzeichnis speichern.
Warum also die Datei(en) nicht immer automatisch mit Name = Tracking-Number.xls in z Bsp C:\Data speichern?
So würde es zwar für mich hier in Hamburg Sinn machen, aber...
...natürlich kann es ja sein, dass ihr die eine oder andere Datei TATSÄCHLICH mit anderem Namen in anderen Verzeichnis speichern wollt/müsst
Deswegen hatte ich diese meine Idee bisher nicht erwähnt.
Aber jetzt, wo du klar,direkt + deutlich danach fragst.... :-)
Ciao
Thorsten

AW: Korrektur
03.04.2014 16:45:48
rosa001
Ja Thorsten, den Kampf mit dem DatePicker habe ich vermutlich auch verloren. Das mit dem Speichern unter ist schon OK so, da musst Du nun keine Zeit mehr für investieren.
Ich hoffe nur, dass dann auch noch alles klappt, wenn ich die Dateien auf sharepoint hoch lade.
Bis denne,
Stefan

AW: Korrektur
03.04.2014 16:59:33
Oberschlumpf
ach ja, deine Frage irgdwann wegen Speichern im LAN.
Antworten wollte ich, hab es dann aber doch vergessen :-)
Eigentlich sollte es egal sein, ob ich als Ziel "C:\Data" oder z Bsp "\\servername\Verzeichnisname" verwende.
Da ich das aber hier nicht testen kann, und so was auch tatsächlich noch nicht im Job verwenden musste, kann ich diese Frage leider nur mit einem "Ja,vielleicht,mal sehen" beantworten :-)
Was vielleicht im Code doch beachtet werden sollte, ist...
...verwende im Code nicht einen Laufwerksbuchstaben, der auf deinem PC mit dem Netzwerkspeicher verknüpft ist
denn nur, weil dieser Buchstabe auf deinem PC Z ist, muss das nicht auch so auf dem PC von Kollege xy sein, der auch mit der Datei1 arbeiten will/soll
...ich denke, am besten ist es, du verwendest die UNC-Schreibweise, also wie oben \\servername\verzeichnisname
Ok?
Ciao
Thorsten

AW: Korrektur
03.04.2014 18:03:37
rosa001
Oh ja, Danke für den Tipp. Werde ich beachten.

AW: Korrektur
07.04.2014 12:06:21
rosa001
Hallo Thorsten,
bin erst heute dazu gekommen, Deine letzte Version (89975.xls) zu testen. Leider meldet sich der Debugger mit einem Laufzeitfehler bei dieser Zeile:
Workbooks.Open pvarSaved
Könntest Du bitte nochmals schauen, woran das liegen könnte?
Danke & Gruß
Stefan

AW: Korrektur
07.04.2014 12:10:53
rosa001
Das ist die Fehlermeldung:
Userbild

AW: Selektive Übergabe von Zell-Werten in andere Datei
02.04.2014 13:05:22
Zell-Werten
Hi Stefan
hier noch mal die geänderte Version von Datei1
https://www.herber.de/bbs/user/89956.xls
Jetzt wird nach Klick auf "SaveAs" erst gespeichert und dann die Daten in Datei2 eingetragen.
Sollte jemand die Datei NICHT speichern...
...erfolgt ein entsprechender Himweis
...das Makro wird beendet
...es werden KEINE Daten in Datei2 übertragen
Hilfts?
Ciao
Thorsten

AW: Selektive Übergabe von Zell-Werten in andere Datei
02.04.2014 13:12:30
Zell-Werten
Ja Thorsten, so macht das Sinn. Teste es später. Bin derzeit im Auto unterwegs

hier gehts weiter, weil...
07.04.2014 12:55:14
Oberschlumpf
...sonst die Beiträge rechts ausm Bild "rausrutschen"
Hi Stefan
hier deine letzten Beiträge:
https://www.herber.de/forum/messages/1356375.html
https://www.herber.de/forum/messages/1356376.html
Ich kann leider nicht helfen, weil es in der gesamten Datei 89975.xls diese Zeile
Workbooks.Open pvarSaved
nicht gibt.
(festgestellt durch die Suchfunktion im VBE)
Um sicher zu gehen, habe ich das Modul mit meinem Code kopiert und in eine txt-Datei eingefügt.
Auch mit dessen Suchfunktion gibt es nur eine Zeile mit WorkBooks.Open, und zwar diese
Workbooks.Open ThisWorkbook.Path & "\datei2.xls"
Sie steht in der Sub sbSavedAs
Es gibt in meinem Code auch nirgendwo eine Variable namens pvarSaved, oder was auch immer das darstellen soll.
Daher weiß ich halt leider nicht, wie es zu der von dir beschriebenen Fehlermeldung kommt.
Kannst du mal bitte alle Excel-Dateien schließen, und dann nur Datei1, bzw 89975.xls öffnen und den SaveAs-Button anklicken?
Funktioniert es nun?
Wenn ja, kann es vllt daran liegen, dass bei mehr geöffneten Dateien als nur Datei1 + Datei2 zu diesem Fehler kommt.
Aber auch das weiß ich eben nicht, da ich das hier an meinem Platz nicht nachvollziehen kann.
Ciao erst mal
Thorsten

AW: hier gehts weiter, weil...
07.04.2014 15:58:33
rosa001
Hi THorsten,
in der Datei 89975.xls, die Du hochgeladen hast, steht dieser Code:
Workbooks.Open pvarSaved
Ich hänge die Datei nochmals an, da kannste nachsehen!
https://www.herber.de/bbs/user/90023.xls
Gruß, Stefan

AW: hier gehts weiter, weil...
07.04.2014 17:13:21
Oberschlumpf
Hi Stefan
stimmt, in deiner "Version" ist der Code enthalten - da hatte ich bei mir wohl ne veraltete Datei erwischt.
Trotzdem - bei mir funktioniert alles, auch wenn ich die von dir gezeigte Datei verwende.
Wichtig ist aber:
Die von dir mit DATEI2 bezeichnete Datei MUSS im gleichen Verzeichnis gespeichert sein, in dem sich auch DATEI1 befindet.
Und:
du MUSST im Code für "Datei2.xls" DEN Dateinamen eintragen, den deine Datei2 wirklich hat.
Und natürlich musst du den KOMPLETTEN Dateinamen für Datei2 ersetzen.
Denn, vergiss nicht, ich verwende Excel 2003, du verwendest Excel 365.
Bei mir heißt die Datei also "Datei2.xls" - bei dir wird sie wahrscheinlich "?.xlsm" heißen. Also auch auf die Dateiendung achten.
Hilfts?
Ciao
Thorsten

AW: hier gehts weiter, weil...
07.04.2014 17:30:18
rosa001
LEIDER NEIN :-(
Ich finde keinen Fehler und die Dateien liegen im gleichen Verzeichnis. Es ging ja auch immer, bis eben auf Deine letzte Änderung/Anpassung.
Sub sbSavedAs()
Dim lwbWB As Workbook, lboOpen As Boolean
Dim lshThis As Worksheet, lsh2 As Worksheet
Dim lloRow As Long, lboUpd As Boolean
For Each lwbWB In Workbooks
If LCase(lwbWB.Name) = LCase("Mobile Service Case Tracking.xlsm") Then 'WICHTIG!!!!  _
anstelle von Datei2.xls musst du den richtigen Namen von Datei2 eintragen!
lboOpen = True
Exit For
End If
Next
If lboOpen = False Then
Workbooks.Open ThisWorkbook.Path & "\Mobile Service Case Tracking.xlsm" 'WICHTIG!!!! _
anstelle von Datei2.xls musst du den richtigen Namen von Datei2 eintragen!
End If
Set lshThis = ThisWorkbook.Sheets("Report")
Set lsh2 = Workbooks("Mobile Service Case Tracking.xlsm").Sheets("Cases") 'WICHTIG!!!!  _
anstelle von Datei2.xls musst du den richtigen Namen von Datei2 eintragen!
With lsh2
For lloRow = 2 To .Cells(Rows.Count, 1).End(xlUp).Row
If .Range("A" & lloRow).Value = lshThis.Range("C2").Value Then
lboUpd = True
Exit For
End If
Next
If lboUpd = True Then
If MsgBox("Die Tracking-Number " & lshThis.Range("C2").Value & " ist  _
schon vorhanden." & vbCrLf & _
"Sollen die Werte überschrieben werden?", vbYesNo +  _
vbQuestion, "Überschreiben Ja/Nein?") = vbNo Then
Set lshThis = Nothing
Set lsh2 = Nothing
Exit Sub
End If
sbToSave lshThis, lsh2, False, lloRow
Else
sbToSave lshThis, lsh2, True, 0
End If
End With
Set lshThis = Nothing
Set lsh2 = Nothing
Workbooks.Open pvarSaved
ThisWorkbook.Close False
End Sub
Sub sbToSave(ByVal dieses As Worksheet, ByVal blatt As Worksheet, ByVal neuer_eintrag As  _
Boolean, ByVal zeile As Long)
Dim larstrFilename() As String
ChDrive "C:\"
ChDir "C:\Users\lz5sdn\Desktop\Temp\MSCT" '"C:\Data"
pvarSaved = Application.GetSaveAsFilename(dieses.Range("C2").Value, fileFilter:="Excel- _
Arbeitsmappe, *.xlsm")
If pvarSaved  "Falsch" Then
larstrFilename = Split(pvarSaved, "\")
If ThisWorkbook.Name  larstrFilename(UBound(larstrFilename)) Then
If fcYesNo(pvarSaved, larstrFilename(UBound(larstrFilename))) =  _
False Then
ThisWorkbook.SaveCopyAs pvarSaved
End If
Else
If fcYesNo(pvarSaved, larstrFilename(UBound(larstrFilename))) =  _
False Then
ThisWorkbook.Save
End If
End If
Else
'WICHTIG!!!! anstelle von Datei2.xls musst du den richtigen Namen von Datei2  _
eintragen!
MsgBox "Es wurde keine Datei gespeichert." & vbCrLf & "Es werden keine Daten in  _
'Mobile Service Case Tracking' übertragen." & vbCrLf & "Der Vorgang wird abgebrochen.", , "Abbruch"
End
End If
With blatt
If neuer_eintrag = True Then
zeile = .Cells(Rows.Count, 1).End(xlUp).Row + 1
.Range("A" & zeile).Value = dieses.Range("C2").Value
End If
.Range("I" & zeile).Value = dieses.Range("C6").Value
.Range("T" & zeile).Value = dieses.Range("E6").Value
.Range("N" & zeile).Value = dieses.Range("E9").Value
.Range("A" & zeile).Hyperlinks.Add Anchor:=.Range("A" & zeile), Address:=pvarSaved,  _
TextToDisplay:=.Range("A" & zeile).Value
Application.Goto .Range("A" & zeile), True
.Range("A" & zeile & ":AN" & zeile).Select
End With
End Sub
Function fcYesNo(ByVal pfadname As String, dateiname As String) As Boolean
If Dir(pfadname)  "" Then
If MsgBox("Soll die Datei " & dateiname & " überschrieben werden?", vbYesNo +  _
vbQuestion, "Überschreiben Ja/Nein?") = vbNo Then
'WICHTIG!!!! anstelle von Datei2.xls musst du den richtigen Namen von Datei2  _
eintragen!
MsgBox "Es wurde keine Datei gespeichert." & vbCrLf & "Es werden keine Daten in ' _
Mobile Service Case Tracking' übertragen." & vbCrLf & "Der Vorgang wird abgebrochen.", , "Abbruch"
End
End If
End If
End Function

AW: hier gehts weiter, weil...
07.04.2014 17:36:42
Oberschlumpf
warum zeigst du den ganzen Code?
Ich hab ihn doch in der Datei.
Klick mal im VBE in die Zeile
Sub sbSavedAs()
Drück dann auf F9
(die Zeile muss nun rot hinterlegt sein)
Zeig nun wieder die Excel-Datei und klick auf den SaveAs-Button
Jetzt springt automatisch der VBE wieder auf, und du drückst nun so lange auf F8, bis der Fehler erscheint.
Zeig hier dann nur den Code der per F8 ausgeführt wurde, und bitte auch genau die Reihenfolge.
Ne andere Idee wäre noch, dass ich versuche, dir mit TeamViewer zu helfen, aber dann müssten wir zusammen telefonieren.
Ohne dass ich genau sehe, was du da tust, gehen mir langsam die Ideen aus.
Ciao
Thorsten

AW: hier gehts weiter, weil...
08.04.2014 09:46:21
rosa001
Hallo Thorsten,
in der anhängenden PDF-Datei habe ich mal alle Einzelschritte bis zum Fehler dokumentiert.
https://www.herber.de/bbs/user/90031.zip
Ich hoffe sehr, das hilft Dir weiter.
Danke & Gruß
Stefan

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige