Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
1052to1056
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
Inhaltsverzeichnis

Ohne Makro nur Startseite

Ohne Makro nur Startseite
02.03.2009 20:41:57
Tom
Hallo
Ich würde gerne beim schliessen der Datei sämtlich Tabellen ausblenden ausser die Startseite.
Falls die Datei ohne Makro gestartet wird ist nur die Startseite zu sehen.
Kann mir jemand helfen?
Gruss
Tom

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Deine Startseite heisst ARCHIV! (owT)
02.03.2009 20:48:07
Renee

AW: Deine Startseite heisst ARCHIV! (owT)
02.03.2009 21:28:35
Tom
Hallo Renee
So sieht der ganze Code in dieser Arbeitsmappe aus und ganz unten der Code im Modul
Leider öffnet sich die Datei ohne Makros trotzdem mit allen Blätter.
Option Explicit

Private Sub Workbook_Open()
If Val(Application.Version)  11 Then 'Kontrolle max. Excel 2003
MsgBox "Dieses Tool kann nur mit Version 11 oder niedriger gestartet werden!", vbCritical, " _
Versionskontrolle"
ende
Else
Application.Visible = False
Application.CommandBars("Worksheet Menu Bar").Controls("Extras").Visible = False
Application.CommandBars("Worksheet Menu Bar").Controls("Datei").Controls("Speichern unter..."). _
Enabled = False
End If
alleEinblenden
Worksheets("Start").Activate
Willkommen.Show
Sheets("Berumb").EnableCalculation = False
End Sub



Private Sub Workbook_BeforeClose(Cancel As Boolean)
alleAusblenden
Application.Visible = True
Application.CommandBars("Worksheet Menu Bar").Controls("Extras").Visible = True
Application.CommandBars("Worksheet Menu Bar").Controls("Datei").Controls("Speichern unter..."). _
Enabled = True
End Sub


Option Explicit
Sub alleAusblenden()
Dim objWS As Worksheet
For Each objWS In ThisWorkbook.Worksheets
If objWS.name "Start" Then objWS.Visible = xlSheetVeryHidden
Next
End Sub


Sub alleEinblenden()
Dim objWS As Worksheet
For Each objWS In ThisWorkbook.Worksheets
If objWS.name "Start" Then objWS.Visible = xlSheetVisible
Next
End Sub


Gruss
Tom

Anzeige
Hast du eine leere Arbeitsmapppe
02.03.2009 21:40:56
Renee
mit diesem Code?, Tom
Dann lade sie mal hier rauf.
Ich sehe ein paar komische Sachen, aber so auf den ersten Blick müsste es funktionieren.
Sind die Makros am richtigen Ort?
DieseArbeitsmappe : Private Sub Workbook_Open() und Private Sub Workbook_BeforeClose(Cancel As Boolean)
Modul: Sub alleAusblenden() und Sub alleEinblenden()
GreetZ Renée
AW: Hast du eine leere Arbeitsmapppe
02.03.2009 21:50:29
Tom
Hallo Renèe
Die ganze Datei ist 4 mb gross.
Das ist der ganze Code in dieser Arbeitsmappe und und das Modul für das aus- bzw. einblenden.
Sonst ist kein Code mehr drin.
Was meinst Du mit komischen Sachen?
Gruss
Tom
Anzeige
AW: Hast du eine leere Arbeitsmapppe
02.03.2009 21:58:36
Tom
Hallo Renèe
Die Arbeitsmappe war leer, bzw. ich habe sie blau gefärbt.
Jetzt funktioniert es indem ich etwas reingeschrieben habe.
Trotzdem würde es mich interessieren warum!
Was ist mit den komischen Sachen? Um Rat bin ich immer Ohr.
Danke
und
Gruss
Tom
AW: Hast du eine leere Arbeitsmapppe
02.03.2009 22:02:31
Matthias
Hallo Tom,
also der Code den Du gepostet hat kann nicht funktionieren, die Mappe muss vor dem Speichern alle Blätter außer der Startseite ausblenden, nicht vor dem Schließen.
https://www.herber.de/forum/messages/1055727.html
Gruß Matthias
Anzeige
Komisch z.b. ende (owT)
02.03.2009 22:05:48
Renee

AW: Komisch z.b. ende (owT)
02.03.2009 22:14:02
Tom
Hallo Renèe
Mit ende ist diesem Modul gemeint.

Sub ende() 'Alles schliessen ohne speichern etc.
Application.DisplayAlerts = False
Application.Quit
End Sub


Gruss
Tom

Super Modul, das verhindert dann
02.03.2009 22:15:38
Renee
wohl, dass die Mappe gespeichert wird! Tom.
Weisst du überhaupt, was du da zusammenfrickelst?
GreetZ Renée
AW: Super Modul, das verhindert dann
02.03.2009 22:23:53
Tom
Hallo Renèe
Also wenn Excel unter 2000 ist soll sie überhaupt nicht starten und wenn Excel über 2003 soll sie auch nicht starten. Danach gibt es nichts zum Speichern.
Gruß
Tom
Du musst aber speichern, weil du
02.03.2009 22:40:52
Renee
Blätter sichtbar bzw. unsichtbar machst!, Tom
Das mit den Versionen begreife ich sowenig, wie dein Gesamtkonzept!
GreetZ Renée
Anzeige
AW: Ohne Makro nur Startseite
02.03.2009 21:14:29
Matthias
Hallo Tom,
oder hier:

' Mappe nur mit aktivierten Makros öffnen
' Anleitung:
' Erstelle in der betreffenden Mappe ein Blatt mit Namen "Start"
' (Konstante OhneMakros kann angepasst werden)
' schreibe auf dieses Blatt eine Info, dass die Makros aktiviert sein müssen,
' um mit der Mappe zu arbeiten
' kopiere folgenden Code ins Modul "DieseArbeitsmappe"
Option Explicit
Const OhneMakros = "Start" 'Name des Blattes mit der Info
Const pwWarnung = "12345" 'Kennwort des Blattes mit der Info
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Me.Saved = False Then
Select Case MsgBox("Sollen Ihre Änderungen in '" & Me.Name & "' gespeichert werden?",  _
vbYesNoCancel + vbExclamation)
Case vbYes
Speichern
Case vbNo
Me.Saved = True
Case vbCancel
Cancel = True
End Select
End If
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Cancel = True
If SaveAsUI Then
MsgBox "Speichern unter... nicht möglich!" 'müsste falls erforderlich noch erweitert werden
Else
Speichern
End If
End Sub
Private Sub Workbook_Open()
AllesEinblenden
On Error Resume Next
'beim Speichern gemerktes aktives Blatt anzeigen:
Sheets(Sheets(OhneMakros).Cells(Rows.Count, Columns.Count).Value).Activate
Me.Saved = True
End Sub
Private Sub AllesAusblenden()
Dim sh As Worksheet
Sheets(OhneMakros).Visible = True
For Each sh In Me.Worksheets
If sh.Name  OhneMakros Then sh.Visible = xlSheetVeryHidden
Next sh
End Sub
Private Sub AllesEinblenden()
Dim sh As Worksheet
For Each sh In Me.Worksheets
sh.Visible = True
Next sh
Sheets(OhneMakros).Visible = xlSheetVeryHidden
End Sub
Private Sub Speichern()
Dim sh As Worksheet
Dim fehler As Boolean
Set sh = ActiveSheet
'geöffnetes Blatt merken:
With Sheets(OhneMakros)
.Unprotect Password:=pwWarnung
.Cells(Rows.Count, Columns.Count) = sh.Name
.Protect Password:=pwWarnung
End With
Application.EnableEvents = False
Application.ScreenUpdating = False
AllesAusblenden
On Error Resume Next
Me.Save
If Err.Number > 0 Then
MsgBox Err.Description, , "Fehler " & Err.Number
fehler = True
End If
On Error GoTo 0
AllesEinblenden
sh.Activate
Application.EnableEvents = True
Application.ScreenUpdating = True
If Not fehler Then Me.Saved = True
End Sub


In der Prozedur "AllesEinblenden" kannst du die Zeile


Sheets(OhneMakros).Visible = xlSheetVeryHidden


auskommentieren, falls die Startseite bei aktivierten Makros sichtbar bleiben soll.
Gruß Matthias

Anzeige
Ohne Makro nur Startseite ?
02.03.2009 21:21:28
Matthias
Hallo
Ohne Makro nur Startseite:
wie willst Du das machen, ohne Makro ?
hast Du die Frage auch richtig gestellt ?
Gruß Matttias
AW: Ohne Makro nur Startseite ?
02.03.2009 21:24:01
Matthias
Hi Namensvetter,
er meint halt mit deaktivierten Makros.
Gruß Matthias G
was es meint sollte er/sie aber schreiben ,o)
02.03.2009 21:40:45
Matthias
Hi
Ich würde gerne beim Schliessen der Datei sämtlich Tabellen ausblenden
Gruß Matthias
AW: was es meint sollte er/sie aber schreiben ,o)
02.03.2009 21:46:15
Matthias
Hi L,
ja, genau so geht es ja auch. Genauer gesagt vor dem Speichern.
Siehe meine Antwort.
Gruß G
AW: Ohne Makro nur Startseite
02.03.2009 21:33:56
Tom
Hallo Zusammen
Habe mich falsch ausgedrückt.
Nicht ohne Makros sondern mit nicht aktivierten Makros.
Gruss
Tom
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige