PDA

Vollständige Version anzeigen : Userform sichtbar Tabellen unsichtbar


Deichhuhnumsetzer
25.04.2009, 09:57
Moin zusammen,

nach 14 Tagen in Thailand wieder am Rechner und gleich ein paar Fragen.

Ich habe ein Userform und einige Tabellen, die dahinter liegen.

Jetzt dürfen diese Tabellen aber nicht sichtbar sein.

Ich habe es versucht mit Application.visible= False was aber zur Folge hat, dass alle offenen Exceldateien unsichtbar werden und nach dem Schliessen des Userforms der Excel-Prozess weiterläuft.

Wenn ich die Sheets minimalisiere und das Userform schliesse, können die Sheets wieder maximalisiert und eingesehen werden.



Jetzt bin ich bei der Suche in diesem Forum auf:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Worksheets("Gesamtübersicht").Visible = xlVeryHidden
End Sub

Private Sub Workbook_Open()
Worksheets("Gesamtübersicht").Visible = xlVeryHidden
UserForm1.Show

End Sub


gestossen. Entspricht schon eher meinen Vorstellellungen, allerdings habe ich ca 40 Sheets in dieser Mappe, die ich dann einzeln ansprechen müsste. Gibt es da vielleicht eine einfachere Lösung ??

Grüsse aus dem sonnigen Hamburg

hary
25.04.2009, 10:14
hi
Du kannst doch die Tabelleneigenschaft(Alt+F11), staendig auf veryhidden setzen. Und mit der Form oder Button machst Du sie sichtbar.
Gruss Hary

Deichhuhnumsetzer
25.04.2009, 10:51
moin Hary,

grundsätzlich ist das eine Möglichkeit. Allerdings verlagere ich das, was ich eigentlich vermeiden wollte, dann nach hinten und muß jedes einzelne Blatt wieder sichtbar machen, wenn ich es z.B. ausdrucken will.

Gibt es denn nicht die Möglichkeit nur diese Datei per VBA zu beenden ?

Uwe (:o)
25.04.2009, 11:31
Hi,
ich würde es mit dem Ausblenden der Tabellenblätter versuchen. So kannst Du alle Blätter bis auf das aktive auf verryhidden setzten:
Sub Test()
Dim wks As Worksheet

For Each wks In ThisWorkbook.Worksheets
If Not wks.Name = ActiveSheet.Name Then _
wks.Visible = xlSheetVeryHidden
Next wks
End Sub

Deichhuhnumsetzer
25.04.2009, 13:42
.. das Thema, auch auf Grund eurer Vorschläge, die ich natürlich getestet habe, anders gelöst. Ihr habt mich auf die richtige Spur gebracht.

Ich mache die Applikation beim Öffnen unsichtbar und zeige nur das User-Form an:

Application.Visible = False
UserForm_1.Show
End Sub


Folgendes Modul habe ich angelegt:

Global PZ 'Globale Variable

Sub auto_open()

PZ = 1
End Sub


und in der Arbeitsmappe:

If PZ = 1 Then
Call MsgBox("Datei kann nur über die Befehlsschaltfläche ""Beenden"" geschlossen werden", vbCritical, Application.Name)
Cancel = True
End If

If Cancel = False Then
PZ = 1
End If


damit das UserForm nicht über das Kreuz gechlossen werden kann.



Dann habe ich einen Beenden Button eingefügt.

Nach dem Beenden des UserForm wird die Applikation wieder auf sichtbar gesetzt:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.Visible = True

End Sub

Reicht für meine Belange :-)))

Danke für eure Unterstützung