Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1012to1016
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
Daten aus verschiedenen Dateien *HILFE*
30.09.2008 08:16:45
Uwe
Guten Morgen
ich habe folgende Datei:
https://www.herber.de/bbs/user/55730.zip
ich umreiße kurz die Funktion, sowie den aktuellen Fehler:
Geschäftsablauf sieht folgendermaßen aus:
Kunde bestellt bei uns ein Produkt, welches der Vertrieb mit den vorliegenden Fahrzeugdaten - den Soll-Daten füttert.
Nachdem das bestellte Fahrzeug zur Weiterbearbeitung bei uns eingetroffen ist, füllt unser Qualitätsmanagementsystem die IST-Sparte - also die tatsächlichen Spezifikationen aus. Insbesondere die Fahrzeugausstattung. Nachdem SOLL und IST als zwei verschiedene Dateien existieren, werden die Werte der SOLL Datei in die IST Datei eingelesen und gespeichert und im Produktionsprozess mehrmals weiterverwendet.
DAS PROBLEM:
Wenn ich die SOLL-Daten eingelesen habe, dann wird die Fahrzeugausstattung, die ja in der IST-Datei eingetragen wurde, gelöscht. Oder - die Vermutung habe ich - es wird die unangeklickte Fahrzeugausstattung der SOLL-DATEI eingelesen (die ja leer ist, da die Ausstattung erst abgeglichen wird, wenn das Fahrzeug da ist). Ich habe das aber nirgends programmiert...
Kann mir jemand helfen? Das wäre wirklich klasse....komme nämlich nicht weiter...
MfG
Uwe

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten aus verschiedenen Dateien *HILFE*
30.09.2008 11:04:00
fcs
Hallo Uwe,
es ist etwas schwierig, den Datenfluss bei so einem Komplexen Formular zu verfolgen.
Folgendes ist mir aufgefallen:
1. Mit dem Einlesen der Daten in der Prozedur "einlesen_soll_WEP" wird das Formular "wep" mit Daten aus der geöffneten Datei gefüllt.
2. In der Initialisierungs-Prozedur des Formulars "wep" werden in den Zeilen

'Comboboxen und Beschriftung von Labels initialisieren
Call Labels_ComBoxen_Initialisieren
'Werte aus dem Blatt System einlesen
Call Werte_aus_System_einlesen
bolInitialize = False
Application.StatusBar = False
Call ausstattung_einlesen
Call serie_projekt


beim Öffnen des Formulars erneut Daten aus dem Blatt "System" in die Formularfelder eingelesen. Da im Blatt System ggf. noch keine SOLL-Daten stehen, werden die Formularfelder wieder leer.
Du solltest also beim Einlesen der SOLL-Daten entweder die Tabellenfelder im Blatt "System" der Datei füllen statt die Felder im Formular "wep" oder in der Initialisierungs-Prozedur des Forms "wep" eine If-Prüfung einbauen, ob ein bestimmtes Formularfeld schon Daten enthält (verschieden von "" ist) und dann das erneute Laden der Daten überspringen.
Meiner Meinung nach ist das Eintragen der SOLL-Daten in den SOLL-Bereich des Blatts "System" der einfachere Weg.
Außerdem könntest du die Prozedur zum einlesen der Daten ein wenig optimieren, so dass dann wenn keine Datei ausgewählt wird die Prozedur ordnungsgemäß beendet wird. Zusätzlich vor "Workbooks" konsequent den "." setzen, damit sich die Befehle auf das in der With-Anweisung angegebene Workbook beziehen.
Gruß
Franz


Sub einlesen_soll_WEP()
FileToOpen = Application.GetOpenFilename("Excel Dateien (*.xls),*.xls")
If FileToOpen  False Then                                           ' ####fcs
Workbooks.Open FileToOpen
With ActiveWorkbook
wep.cob_produkt = .Worksheets("system").Range("H5")
wep.tb_serialnr.Value = .Worksheets("system").Range("H6")
'...restlicher Code
wep.tb_kundenwuensche = .Worksheets("system").Range("B26")
.Close
'  Call Kreuze_einlesen                                           ' ####fcs Fehler, da Prozedur  _
nicht gefunden
'- Vergleichen von Soll und Ist direkt bei/nach dem Einlesen, speziell:
'   - Vergleichen, ob Federnsysteme übereinstimmen!!!!!!!!!!!!!!
'   - Vergleichen, ob Getriebeart übereinstimmt!!!!!!!!!!!!!!
'   - Vergleichen, ob Nebenabtrieb übereinstimmt!!!!!!!!!!!!!!
'   - Vergleichen, ob elektrische Vorrüstung für Anhängerbetrieb übereinstimmt!!!!!!!!!!!!!!
Unload menue
wep.Show
End With
Else          ' ####fcs
MsgBox "Es wurde keine Datei mit Soll-Daten geöffnet!"          ' ####fcs
End If          ' ####fcs
End Sub


Anzeige
AW: Daten aus verschiedenen Dateien *HILFE*
30.09.2008 11:16:00
Uwe
Hi Franz
Sehr gute Überlegung und durchaus umsetzenswert.
Mein Gedankengang is jetzt in dem Sinne bisschen behindert, dass ich annehme, wenn er ein Workbook als ActiveWorkbook festlegt, er dann auch nur in diesem ActiveWorkbook arbeitet.
Also wie würde der Code lauten, wenn ich aus dem Workbook in dem die SOLL Daten stehen aus Tabellenblatt "System", Zelle "B17" ins Workbook mit den IST Daten (dort, wo die Soll-Daten schlussendlich reinkommen sollen) ebenfalls ins Tabellenblatt "System", Zelle "B17" den Wert hereinschreiben soll?
Etwa so?
wkssystem.range("B17")=wkssystem.range("B17")
Das würde doch nie und nimmer funktionieren?
Wie müsste ich SOLL-Tabellenblatt und Ist-Tabellenblatt ansprechen?
Vielen, Vielen dank für Deine Mühe!
Anzeige
AW: Daten aus verschiedenen Dateien *HILFE*
30.09.2008 12:37:00
fcs
Hallo Uwe,
dann muss du am Beginn der Prozedur eine entsprechende Objekt-Variable setzen, über die du das Tabellenblatt ansprechen kannst, oder du muss die komplette Objektbezeichnung (Workbook) und Worksheet vor dem Range angeben.
Nachfolgend ein Beispiel für den Anfang deiner Prozedur.
Gruß
Franz

Sub einlesen_soll_WEP()
Dim wksSystem As Worksheet
FileToOpen = Application.GetOpenFilename("Excel Dateien (*.xls),*.xls")
If FileToOpen  False Then                                           ' ####fcs
'Objektvariable für Tabellenblatt "System" in dieser Datei setzen
Set wksSystem = ThisWorkbook.Worksheets("System")
'Datei mit SOLL-Daten öffnen
Workbooks.Open FileToOpen
'SOLL-Daten in SOLL-Bereich des Blatts "system" in dieser Datei übertragen
With ActiveWorkbook
With .Worksheets("system")
wksSystem.Range("H5") = .Range("H5") 'Produkt
wksSystem.Range("H6") = .Range("H6") 'Serial Nr.
'...usw. für weitere Zellen
End With
.Close
'  Call Kreuze_einlesen   ' ####fcs Fehler, da Prozedur nicht gefunden
'- Vergleichen von Soll und Ist direkt bei/nach dem Einlesen, speziell:
'   - Vergleichen, ob Federnsysteme übereinstimmen!!!!!!!!!!!!!!
'   - Vergleichen, ob Getriebeart übereinstimmt!!!!!!!!!!!!!!
'   - Vergleichen, ob Nebenabtrieb übereinstimmt!!!!!!!!!!!!!!
'   - Vergleichen, ob elektrische Vorrüstung für Anhängerbetrieb übereinstimmt!!!!!!!!!!!! _
Unload menue
wep.Show
End With
Else          ' ####fcs
MsgBox "Es wurde keine Datei mit Soll-Daten geöffnet!"          ' ####fcs
End If          ' ####fcs
End Sub


Anzeige
AW: Daten aus verschiedenen Dateien *HILFE*
01.10.2008 09:23:58
Uwe
ah okay. hängt das damit zusammen, dass ich beim Tabellenblatt IN DAS ich einlese das Kürzel wkssystem verwendet habe?
Aber dann stellt sich mir die Frage:
Eindeutig ist das doch nicht, da ich ja beim Tabellenblatt VON DEM ich einlese ebenfalls wkssystem als Kürzel verwende, da sich alle Dateien von einer Ursprungsdatei - das Masterdatei - ableiten...
?!?
Oder versteh ich das jetzt falsch?
Mfg
AW: Daten aus verschiedenen Dateien *HILFE*
01.10.2008 10:11:00
fcs
Hallo Uwe,
du darfs die Variable wksSystem in dieser Prozedur nicht verwechseln mit der in der in den Prozeduren für das Userform "wep". Die haben nichts mit einander zu tun. Falls dich die Variablennamen verwirren, dann kannst du hier auch einen anderen Namen verwenden.
Mit der Set-Anweisung wird immer das jeweilige Objekt zugewiesen.
Hier ist wksSystem die Tabelle in die die Daten geschrieben werdne sollen:
Set wksSystem = ThisWorkbook.Worksheets("System")
"ThisWorkbook" ist dabei immer der Platzhalter für die Arbeitsmappe in der die Prozedur gespeichert ist.
Die Quelltabelle aus der die Daten geholt werden ist die in den With-Anweisungen festgelegte Tabelle und bezieht sich auf die Arbeitsmappe "FileToOpen", die nach dem Öffnen die aktive Arbeitsmappe ist.
Gruß
Franz
Anzeige
Danke VIELMALS o.w.T.
01.10.2008 11:53:05
Uwe
Vielen Vielen Dank für deine Hilfe!
Jetzt klappt alles!
Danke und bis bald!

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige