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