Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1280to1284
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

automatisches ausblenden, falls vergessen

automatisches ausblenden, falls vergessen
25.10.2012 11:35:32
Feick
Hallo,
leider bin ich suchend nicht weitergekommen und würde deshalb gerne mal fragend mein Problem mit euch besprechen.
Ich habe in einer Tabelle diesen Code:
Sub SpaltenAusblenden()
ActiveSheet.Unprotect
Sheets("Kalender").Activate
Columns("M:P").EntireColumn.Hidden = True
ActiveSheet.Protect
End Sub
Sub SpaltenEinblenden()
ActiveSheet.Unprotect
Sheets("Kalender").Activate
Columns("M:P").EntireColumn.Hidden = False
ActiveSheet.Protect
End Sub
Private Sub ToggleButton1_Click()
If InputBox("Bitte Passwort eingeben")  "admingl" Then
MsgBox "Sorry, falsches Passwort"
Exit Sub
End If
Dim TB As ToggleButton
Set TB = ToggleButton1
If TB.Value = True Then
TB.Caption = "ein"
Call SpaltenAusblenden
Else
TB.Caption = "aus"
Call SpaltenEinblenden
End If
End Sub
Damit kann ich die Spalten M bis P aus- bzw. einblenden (mit Passwortabfrage).
Falls mal jemand vergisst die Spalten wieder auszublenden, sollen diese, beim schließen oder beenden der Mappe automatisch ausgeblendet werden.
Das bekomme ich aber nicht hin.
Habt Ihr eine Idee? Irgendwie stehe ich gerade neben mir ;-(
Vielen Dank !!!
Gruß Michael

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Workbook_BeforeClose
25.10.2012 11:42:42
Matthias
Hallo
Dort einfach wieder ausblenden und Datei spichern.
! Ist aber mit gewissen Risiken verbunden.(wenn eine Änderung nicht gespeichert werden soll) !
Also ist es eher sinnvoll beim Workbook_Open die Spalten auszublenden.
Gruß Matthias

AW: automatisches ausblenden, falls vergessen
25.10.2012 11:45:24
Marc
Hallo!
Geh in der Explorer-Ansicht des VBA-Editors auf die Arbeitsmappe und erstelle dann das Workbook-Ereignis BEFORE_CLOSE oder BEFORE_SAVE oder was auch immmer und schreib da deine Prozedur rein
SpaltenAusblenden
Allerdings kannst du da noch ein bissl sparen:
Sub Spalten_blenden(an_aus as boolean)
with Sheets("Kalender")
.Unprotect
.Columns("M:P").EntireColumn.Hidden = an_aus
.Protect
end with
End Sub
Aufruf nur noch mit
Spalten_blenden (True) 
und

Spalten_blenden (false)
Gruß, Marc

Anzeige
AW: automatisches ausblenden, falls vergessen
25.10.2012 15:06:59
Feick
Hallo Marc,Hallo Matthias,
vielen Dank für Eure Antworten,
Leider habe ich mit Marc`s Vorschlag meine Probleme. Ich habe in der "DieseArbeitsmappe" bereits div. Eintragungen drinne.
Private Sub Workbook_BeforeClose(Cancel As Boolean)
'Beim Schließen Startseite wieder einblenden
Worksheets("Start").Visible = xlSheetVisible
Worksheets("Start").Activate
'Alle Anderen Arbeitsblätter ausblenden
Dim wks As Worksheet
For Each wks In ThisWorkbook.Worksheets
If wks.Name  ActiveSheet.Name Then
wks.Visible = xlVeryHidden
End If
Next wks
'Arbeitsmappe speichern
ActiveWorkbook.Save
End Sub
Private Sub Workbook_Open()
'Loginformular beim Start anzeigen
frm_login.Show
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim APP_OUTLOOK As Object
Dim MESSAGE As Object
Dim STR_WKB_PATH As String
Set APP_OUTLOOK = CreateObject("Outlook.Application")
Set MESSAGE = APP_OUTLOOK.CreateItem(0)
STR_WKB_PATH = ActiveWorkbook.Path
Application.Quit
With MESSAGE
.GetInspector
.To = "info@gmbh.de"
.Subject = "Signalisierungsmail zum Urlaubsplaner / Verwaltung" & " " & Format(Now, "DD.MM. _
YY - HH:MM")
.Body = "Sehr geehrte Damen und Herren," & vbCrLf & _
"im Urlaubsplaner/ Verwaltung wurde eine neue Eintragung getätigt." & vbCrLf & _
"Pfad:" & STR_WKB_PATH & vbCrLf & _
"" & vbCrLf & _
"" & vbCrLf & .Body
.display
End With
Set APP_OUTLOOK = Nothing
Set MESSAGE = Nothing
End Sub
Wenn ich meinen Code hier einfüge, geht "weitestgehend nicht mehr viel".
Könntet ihr mir bitte da noch einmal weiterhelfen, meinen Code richtig zu platzieren !?!?
2. Problem:
Beim beenden wird ja automatisch Outlock geöffnet und der vorgefertigte Text etc. steht zum abschicken bereit.
Nur wird das EMail- Formular zweimal geöffnet.
Weis da jemand bescheid, oder kennt jemand dazu eine Lösung ?
VIELEN DANK für Eure Geduld !!!
Viele Grüße
Michael

Anzeige
AW: automatisches ausblenden, falls vergessen
25.10.2012 16:42:49
Feick
Hallo,
ich habe gerade gesehen, das man das Kontrollkästchen für "noch nicht beantwortet" aktivieren muss.
Gruß
Michael

AW: automatisches ausblenden, falls vergessen
26.10.2012 07:44:18
Feick
Hallo,
bin schon ein Stück weiter. Mit dem Code: (Veränderung fett)
Private Sub Workbook_BeforeClose(Cancel As Boolean)
'Beim Schließen Startseite wieder einblenden
Worksheets("Start").Visible = xlSheetVisible
Worksheets("Start").Activate
'4Spalten ausblenden
Worksheets("Kalender").Columns("M:P").EntireColumn.Hidden = True
'Alle Anderen Arbeitsblätter ausblenden
Dim wks As Worksheet
For Each wks In ThisWorkbook.Worksheets
If wks.Name  ActiveSheet.Name Then
wks.Visible = xlVeryHidden
End If
Next wks
'4 Spalten ausblenden
Worksheets("Kalender").Unprotect "Kathleen"
With Sheets("Kalender")
.Columns("M:P").EntireColumn.Hidden = True
Worksheets("Kalender").Protect "Kathleen"
End With
'Arbeitsmappe speichern
ActiveWorkbook.Save
End Sub
Private Sub Workbook_Open()
'Loginformular beim Start anzeigen
frm_login.Show
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim APP_OUTLOOK As Object
Dim MESSAGE As Object
Dim STR_WKB_PATH As String
Set APP_OUTLOOK = CreateObject("Outlook.Application")
Set MESSAGE = APP_OUTLOOK.CreateItem(0)
STR_WKB_PATH = ActiveWorkbook.Path
Application.Quit
With MESSAGE
.GetInspector
.To = "info@gmbh.de"
.Subject = "Signalisierungsmail zum Urlaubsplaner / Verwaltung" & " " & Format(Now, "DD.MM. _
YY - HH:MM")
.Body = "Sehr geehrte Damen und Herren," & vbCrLf & _
"im Urlaubsplaner/ Verwaltung wurde eine neue Eintragung getätigt." & vbCrLf & _
"Pfad:" & STR_WKB_PATH & vbCrLf & _
"" & vbCrLf & _
"" & vbCrLf & .Body
.display
End With
Set APP_OUTLOOK = Nothing
Set MESSAGE = Nothing
End Sub
werden die Spalten beim beenden ausgeblendet. Was jetzt nicht passt oder passt ist (beim nächsten Start):
Wenn ich den Togglebutton drücke, kommt die Abfrage nach dem Passwort (richtig)!
Die Abfrage nach dem Blattschutz (falsch)!
Nochmal die Abfrage nach dem Passwort (falsch)!
Das 2. Problem mit dem doppelten EMailformular besteht auch noch!
Hat nochmal jemand ein wenig Zeit sich dieser Sache mal anzunehmen ?
Vielen Dank
Michael

Anzeige
AW: automatisches ausblenden, falls vergessen
26.10.2012 17:33:37
Feick
Entschuldigung, ich muss nochmal nachlegen ;-)
Gruß Michael

AW: automatisches ausblenden, falls vergessen
27.10.2012 19:46:50
Feick
Vielen Dank für Eure Hilfe !!!
Das einzige was jetzt nicht richtig funktioniert ist das Problem mit dem automatischen E-Mail Formular was 2 mal aufgeht.
MfG
Michael

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige