title image


Smiley Re: Arbeit nur mit aktivierten Makros.
Hallo Stephan





mache es so das er ohne aktivierung nicht mit der Mappe arbeiten kann.

Kommentare im Code.







' **************************************************************

' Modul: DieseArbeitsmappe Typ = Element der Mappe(Sheet, Workbook, ...)

' **************************************************************



Option Explicit

Dim InI As Integer

Dim ByS As Boolean

' erstellt von Hajo.Ziplies@web.de 13.01.03



Private Sub Workbook_BeforeClose(Cancel As Boolean)

' blendest Du alle anderen Register mit

' Sheets("Tabelle1").Visible = xlVeryHidden aus

' Oder mehere außer Tabelle1

Dim Mldg As Byte

' ActiveWorkbook.Unprotect ("Passwort")

If ActiveWorkbook.Saved Then ' Datei wurde verändert

Worksheets("Tabelle1").Visible = True

For InI = Worksheets.Count To 1 Step -1

If Worksheets(InI).Name <> "Tabelle1" Then Worksheets(InI).Visible = xlVeryHidden

Next InI

ByS = True

ThisWorkbook.Save

Else

If ByS = True Then Exit Sub

Mldg = MsgBox(" Sollen die Veränderungen gespeichertg werden ??", _

vbYesNo + vbQuestion, "Speicher abfrage ?", "", 0)

If Mldg = 6 Then

Worksheets("Tabelle1").Visible = True

For InI = Worksheets.Count To 1 Step -1

If Worksheets(InI).Name <> "Tabelle1" Then Worksheets(InI).Visible = xlVeryHidden

Next InI

ByS = True

ThisWorkbook.Save

Else

ByS = True

ThisWorkbook.Close False

End If

End If

' ActiveWorkbook.Protect ("Passwort")

End Sub



Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

If ByS = False Then

Cancel = True

MsgBox "Datei kann nur beim schließen gespeichert werden"

End If

End Sub



Private Sub Workbook_Open()

' ActiveWorkbook.Unprotect ("Passwort")

For InI = Worksheets.Count To 1 Step -1

Worksheets(InI).Visible = True

Next InI

Worksheets("Tabelle1").Visible = False

ActiveWorkbook.Saved = True

' ActiveWorkbook.Protect ("Passwort")

End Sub

' Füge ein neues Register ein und schreibe groß drauf "Makro wurden nicht aktiviert"

' in Private Sub Workbook_BeforeClose(Cancel As Boolean)

' blendest Du alle anderen Register aus

' Das Ausblenden hat den Vorteil das die Register nur über VBA eingeblendet werden können

' und nicht über Format, Blatt, Einblenden.

' VBA Projekt schützen



Code eingefügt mit: Excel Code Jeanie



Code Jeanie

Frage

Das Umsetzen nach Html klappt perfekt, auch die Ansicht in den Foren ist gegeben. Bei manchen Foren kann man aber anscheinend nicht den dargestellten Code nach VBA rückkopieren. Warum?

Antwort

Dies liegt nicht an der Code Jeanie !!! Manche Foren interpretieren anscheinend < > Tags nicht richtig und erzeugen am Zeilenende einen weichen Zeilenumbruch anstatt eines harten Zeilenumbruches. Dies führt dazu, dass im VBA-Editor die Zeilen hintereinander geschrieben werden. Zum Rückkopieren in solchen Fällen: Fügen Sie den kopierten Code aus dem Forum nach Word ein, kopieren Sie ihn dort wieder und fügen Sie ihn dann im VBA - Editor ein



Gruß Hajo



Der Code wurde getestet unter Betriebssystem XP Pro und Excel Version XP SBE.

Bitte kein Mail, Probleme sollen im Forum gelöst werden.



Microsoft MVP für Excel

 http://hajo-excel.de/fragen_wie_1.htm

Betriebssystem: Windows 10, Office 2016 32 bit. Bitte Version angeben. Bei keiner Angabe wird von meiner  ausgegangen.Mails nur nach Aufforderung.



geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: