Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
840to844
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
840to844
840to844
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

VBA Frage

VBA Frage
30.01.2007 12:00:49
Richy
Hi,
ich hab eine VBA Frage
Bei dem Code unten, sage ich Ihm wenn der Chef bzw der 2.Chef die Datei aufmacht das er alle Tabellenblätter auf visible stellt.
Dann sage ich ebenfalls, für jeden anderen, soll er nur sein spezifisches Tabellenblatt anzeigen.
Wie kann ich in dem Code noch unterbringen, das wenn ein Environ name (hier: unam) auftaucht, der aber kein spezifisches Tabellenblatt enthält Excel das Programm schliesst (Aussnahme Chef und 2.Chef)
Hat jemand eine Idee?

Private Sub workbook_open()
Dim objSh As Worksheet
Dim unam As String
If ThisWorkbook.ReadOnly Then ThisWorkbook.Close False
Application.ScreenUpdating = False
unam = Environ("Username")
If unam = "richard.kuhn" Or unam = "alexa.theis" Then
For Each objSh In Me.Worksheets
objSh.Visible = xlSheetVisible
Next
Else
For Each objSh In Me.Worksheets
If objSh.Name = unam Then
objSh.Visible = xlSheetVisible
Exit For
End If
Next
End If
Application.ScreenUpdating = True
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Frage
30.01.2007 12:06:59
Rudi
Hallo,

Private Sub workbook_open()
Dim objSh As Worksheet
Dim unam As String
Dim blnFound As Boolean
If ThisWorkbook.ReadOnly Then ThisWorkbook.Close False
Application.ScreenUpdating = False
unam = Environ("Username")
If unam = "richard.kuhn" Or unam = "alexa.theis" Then
For Each objSh In Me.Worksheets
objSh.Visible = xlSheetVisible
Next
Else
For Each objSh In Me.Worksheets
If objSh.Name = unam Then
blnFound = True
Exit For
End If
Next
If blnFound = True Then
objSh.Visible = xlSheetVisible
Else
ThisWorkbook.Close False
End If
Application.ScreenUpdating = True
End Sub
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe
Anzeige
AW: VBA Frage
30.01.2007 12:16:43
Ingo
hallo Richy,
evtl. so (ungetestet)

Private Sub Workbook_Open()
Dim objSh As Worksheet
Dim unam As String
Dim blnunam As Boolean
If ThisWorkbook.ReadOnly Then ThisWorkbook.Close False
Application.ScreenUpdating = False
unam = Environ("Username")
blnunam = False
If unam = "richard.kuhn" Or unam = "alexa.theis" Then
For Each objSh In Me.Worksheets
objSh.Visible = xlSheetVisible
Next
Else
For Each objSh In Me.Worksheets
If objSh.Name = unam Then
objSh.Visible = xlSheetVisible
blnunam = True
Exit For
End If
Next
End If
Application.ScreenUpdating = True
If blnunam = False Then
Application.DisplayAlerts = False
ThisWorkbook.Close
Application.DisplayAlerts = True
End If
End Sub
#
mfG
Ingo Christiansen
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige