Live-Forum - Die aktuellen Beiträge
Datum
Titel
23.04.2024 14:59:21
23.04.2024 14:47:39
23.04.2024 14:23:45
Anzeige
Archiv - Navigation
772to776
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
772to776
772to776
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Excel im Hintergrund starten lassen
16.06.2006 11:04:24
Torge
Hallo,
wer kann helfen?
Bei öffnen meiner Excel-Datei startet eine UserForm in der ein PW und ein Name eingegeben werden muss. Excel starte dabei im Hintergrund und öffnet sich mit der ersten Tabelle die sich aber nur zum Teil darstellt. Ist es möglich Excel zu öffnen bzw. das erste Blatt erst anzuzeigen, wenn in der UserForm die entsprechenden Einträge vorgenommen wurden und diese natürlich richtig waren, sonst schließt sich die Datei wieder.
"Application.ScreenUpdating = False" habe ich eingebaut hat aber leider nicht den gewünschten Effekt, wie ich ihn mir vorstelle.
Hat hier jemand eine Idee?
Vielen Dank an der Stelle.
Gruß Torge

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel im Hintergrund starten lassen
16.06.2006 11:37:07
Matthias
Hallo Torge,
definiere in einem allg. Modul eine globale Variable:

Public UF_OK As Boolean

Dann in "DieseArbeitsmappe" diesen Code:

Private Sub Workbook_Open()
If Workbooks.Count = 1 Then
Application.Visible = False
UserForm1.Show
If UF_OK Then
Application.Visible = True
Else
Application.Quit
End If
Else
Windows(ThisWorkbook.Name).Visible = False
UserForm1.Show
If UF_OK Then
Windows(ThisWorkbook.Name).Visible = True
Else
ThisWorkbook.Close SaveChanges:=False
End If
End If
Sheets("Tabelle1").Activate
ThisWorkbook.Saved = True
End Sub

Im Userform-Code musst du nun, wenn das Kennwort richtig eingegeben wurde, vor dem Schließen der UF die Variable UF_OK auf True setzen. Dies wird dann im o.a. Code abgefragt.
Gruß Matthias
Anzeige
AW: Excel im Hintergrund starten lassen
16.06.2006 12:00:23
Torge
Hallo Matthias,
vielen Dank für Dein Tipp.
Vielleicht letzte Frage:
Habe meine UserForm so aufgebaut, wo muss das hin " Schließen der UF die Variable UF_OK auf True " und wie definiere ich die globale Variable. Bei mir sieht das so aus:

Private Sub CommandButton1_Click()
'OK geklickt
Application.ScreenUpdating = False
On Error Resume Next
If TextBox1 = "" Then
MsgBox "Bitte überprüfen Sie Ihre Eingaben"
Sheets("Messe-Eingabe").Visible = False
Sheets("Messe-Berechnung").Visible = False
Sheets("Kurz-Eingabe").Visible = False
Sheets("Kurz-Berechnung Neubau").Visible = False
Sheets("Kurz-Berechnung Bestand").Visible = False
Exit Sub
End If
Unload Me
Select Case TextBox2
Case 0 'alle Ausgeblendet
Sheets("Messe-Eingabe").Visible = False
Sheets("Messe-Berechnung").Visible = False
Sheets("Kurz-Eingabe").Visible = False
Sheets("Kurz-Berechnung Neubau").Visible = False
Sheets("Kurz-Berechnung Bestand").Visible = False
Case "Alle" 'Anzeigen
Sheets("Messe-Eingabe").Visible = True
Sheets("Messe-Berechnung").Visible = True
Sheets("Kurz-Eingabe").Visible = True
Sheets("Kurz-Berechnung Neubau").Visible = False
Sheets("Kurz-Berechnung Bestand").Visible = False
Case "Dufti" 'Anzeigen
Sheets("Messe-Eingabe").Visible = True
Sheets("Messe-Berechnung").Visible = True
Sheets("Kurz-Eingabe").Visible = True
Sheets("Kurz-Berechnung Neubau").Visible = True
Sheets("Kurz-Berechnung Bestand").Visible = True
Case Else
Sheets("Messe-Eingabe").Visible = False
Sheets("Messe-Berechnung").Visible = False
Sheets("Kurz-Eingabe").Visible = False
Sheets("Kurz-Berechnung Neubau").Visible = False
Sheets("Kurz-Berechnung Bestand").Visible = False
End Select
Unload Me
Application.ScreenUpdating = True
End Sub

Vielen Dank noch einmal.
Gr. Torge
Anzeige
AW: Excel im Hintergrund starten lassen
16.06.2006 12:07:46
Matthias
Hallo Torge,
und wie definiere ich die globale Variable.
Sagte ich doch schon:
definiere in einem allg. Modul eine globale Variable:

Public UF_OK As Boolean

Deinen Code verstehe ich nicht. Jedenfalls wird nach den Schließen der UF die Variable abgefragt und, wenn nicht True, die Datei geschloseen.
Gruß Matthias
AW: Excel im Hintergrund starten lassen
16.06.2006 12:18:19
Torge
Hallo Matthias,
aus Anfängersicht, muss ich dann im Modul
sub anfeanger()
Public UF_OK As Boolean
end-sub
setzen?
Und bei meinem Code lasse ich einfach bei der Eingabe die entsprechenden Tabellen einblenden.
Hab Dir mal ein Beispiel hochgeladen. Hoffe damit ist es etwas verständlicher.
https://www.herber.de/bbs/user/34410.xls
Gruuß Torge
Anzeige
AW: Excel im Hintergrund starten lassen
16.06.2006 12:28:45
Matthias
Hallo Torge,
aus Anfängersicht, muss ich dann im Modul
sub anfeanger()
Public UF_OK As Boolean
end-sub
setzen?

Nein, in ein allgemeines Modul, ganz oben (evtl. unter "Option Explicit, falls vorhanden), ohne Prozedurrumpf:
Modul1



Option Explicit
Public UF_OK As Boolean
'Hier dann erst die Prozeduren:
Sub Test()
End Sub



Und im Modul des Userforms dann dieser Code:

Private Sub CommandButton1_Click()
'Application.ScreenUpdating = False  'nicht nötig hier
Select Case TextBox2
Case "A"
Tabelle2.Visible = True
Tabelle3.Visible = False
Tabelle4.Visible = False
PW_OK = True
Case "B"
Tabelle2.Visible = True
Tabelle3.Visible = True
Tabelle4.Visible = False
PW_OK = True
Case "C"
Tabelle2.Visible = True
Tabelle3.Visible = True
Tabelle4.Visible = True
PW_OK = True
Case Else
'falsches "Kennwort":
'nix, PW_OK auf False lassen, dann wird die Mappe nach "Unload Me" geschloseen
End Select
Unload Me
Application.ScreenUpdating = True
End Sub
Private Sub CommandButton2_Click()
'hier auch nix, d.h. PW_OK auf False lassen, dann wird die Mappe geschlossen
Unload Me
End Sub



Gruß Matthias
Anzeige
AW: Excel im Hintergrund starten lassen
16.06.2006 13:20:31
Torge
Hallo Matthias,
vielen Dank für die Mühe.
Letzte Frage, bekomme bei "PW_OK = True" immer eine Fehlermeldung Variable nicht definiert. Mach ich da etwas falsch bzw. hab ich die "Public UF_OK As Boolean" ins falsche Modul gepackt? Hab es im ersten Tabellenblatt gelegt. Oder gehört es ins Modul über diese Arbeitsmappe rechte Maustaste Einfügen Modul und dort?
Vielen Dank.
Gr. Torge
AW: Excel im Hintergrund starten lassen
16.06.2006 16:42:50
Matthias
Hallo Torge,
Oder gehört es ins Modul über diese Arbeitsmappe rechte Maustaste Einfügen Modul und dort?
Schon mal was von Ausprobieren gehört? *grummel*
In ein allgemeines Modul, damit meine ich ein manuell eingefügtes, kein Arbeitsmappen-, Blatt- oder Userform-Modul.
und Tschüß
Matthias
Anzeige
AW: Excel im Hintergrund starten lassen
16.06.2006 21:05:52
Torge
Alles klar Matthias,
Danke trotzdem für die Hilfe und wünsch Dir ein schönes Wochenende.
Gruß Torge
AW: Excel im Hintergrund starten lassen
16.06.2006 11:38:01
Steve
Hallo Torge
Wahrscheinlich geht das nicht ... bin aber kein Experte
Ich hatte etwas ähnliches auch mal gemacht:
----------------------------------------------------------------------------
Beim öffnen alle Arbeitsblätter schwarz eingefärbt und alles geschützt...
Wenn PW richtig dann Schutzaufheben und Weiss einfärben...
----------------------------------------------------------------------------
Es würde mich aber auch interessieren wie man das am Besten (Elegantesten) bewerkstelligt
Gruss Steve
Anzeige

56 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige