Nur anzeigen von ausgewählten Formularen

Hallo,

ich hätte eine wichtige Frage an euch.

Und zwar habe ich ein praktisch fertig programmiertes Script in Visual Basic. Soweit so gut. Das ganze läuft so ab:

Es liegt eine Exceldatei mit vielen Daten vor (z.B. Farben, Nummern und Namen).

In der VB-Datei sind Formulare vorhanden, das Makro fragt diese beim öffnen der Excel-Datei ab. Es öffnet sich also ein Fenster, bei dem man auswählen kann; rot, blau oder grün, Nummer 1, 2 oder 3.

So, das funktioniert sehr gut. Jetzt kommt die Problematik:

Ich möchte, dass der User später, der die Exceldatei öffnet erst auswählen kann was für Formulare er aus dem VB-Script braucht. Also sozusagen muss er wählen können; „Ich brauche nur die Formulare Farben und Nummern“ und nicht auch noch Namen.

Nachdem das ausgewählt wurde dürfen natürlich auch nur diese Sachen abgefragt werden, die in diesen Formularen stehen, hier also Farben und Nummern. Später soll das ganze dann gespeichert in die Excelliste übernommen werden.

Jetzt meine Frage: Ist dieses Auswahlverfahren von Formularen aus dem VB-Editor möglich und danach nur noch die Abfrage von den richtigen Formularen? Und wenn ja, eine Idee wie das gehen könnte?

Ich hoffe ihr versteht ansatzweise wie ich das meine, ist sehr sehr wichtig für mich.

Schonmal vielen Dank für Antwort!!!

hallo mailerdemon,

du willst anhand eines formulares die excel-mappen zur ansicht auswählen???

ich glaube ich benötige eine sondererklärung

gruß

rasta

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

In der VB-Datei sind Formulare vorhanden, das Makro fragt
diese beim öffnen der Excel-Datei ab. Es öffnet sich also ein
Fenster, bei dem man auswählen kann; rot, blau oder grün,
Nummer 1, 2 oder 3.

Sieht doch schon gut aus. Jetzt baust Du Dir ein neues Formular, in das Du, gerne im Klartext und optional mit Beschreibungen, z. B. Checkboxen für die Auswahl der abzufragenden Formulare reinsetzt. Das Formular bekommt eine Schaltfläche zum Starten des ganzen (Der Benutzer soll ja erst mal Eingaben machen können…). Im Click-Ereignis dieser Schaltfläche rufst Du alle Formulare, deren zugehörige Checkbox angekreuzt ist, auf. Also z. B.:

If Me.CheckBox1 Then
 UserForm1.Show
End If
If Me.CheckBox2 Then
 UserForm2.Show
End If

also Farben und Nummern. Später soll das ganze dann
gespeichert in die Excelliste übernommen werden.

Damit die Eingaben gespeichert werden, solltest Du diese in ein ggf. verstecktes (am besten mit .Visible=xlSheetVeryHidden, damit es nicht zu einfach über Format-Blatt-Einblenden wieder hervorgeholt werden kann) Tabellenblatt eintragen. Die Einstellungen kannst Du auch beim Öffnen auslesen und das erste Formular mit den zuletzt ausgewählten Informationen vorbelegen. Damit werden die Informationen auch beim Öffnen der Datei auf einem anderen Rechner entsprechend verarbeitet.

Eine weitere Möglichkeit, Informationen aus Dialogen/Formularen oder so zu verarbeiten, ist das Speichern innerhalb der Registry mittels GetSetting und SaveSetting. Dies geschieht jedoch nur auf dem lokalen Rechner, ermöglicht so aber mehreren Benutzern unterschiedliche Einstellungen.

Gruß, Manfred