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

Makro unter Windows 10

Makro unter Windows 10
15.05.2018 09:49:54
Rene
Hallo liebe Excel Forum Mitglieder,
ich habe eine kleine Datei mit Excel geschrieben die auf älteren Windows Versionen gut läuft. Bei Windows 10 funktioniert das nachfolgend angeführte Makro aber leider nicht. Nun weiß ich nicht weiter und würde mich freuen wenn Ihr mir weiter helft.
MfG René

Private Sub Workbook_Open()
Dim Blatt As Worksheet
For Each Blatt In Sheets
Blatt.Visible = True
Next Blatt
Dim User As Variant
User = Environ(" USERNAME ")
'Herr 1
If User = "A" Then
Sheets("Urlaubsplan QS 2018").Visible = True
Sheets("1").Visible = True
Sheets("2").Visible = True
Sheets("3").Visible = True
Sheets("4").Visible = True
Sheets("5").Visible = True
Sheets("6").Visible = True
Sheets("7").Visible = True
Sheets("8").Visible = True
Sheets("9").Visible = True
GoTo ende
Else
Sheets("Urlaubsplan QS 2018").Visible = True
Sheets("1").Visible = xlVeryHidden
Sheets("2").Visible = xlVeryHidden
Sheets("3").Visible = xlVeryHidden
Sheets("4").Visible = xlVeryHidden
Sheets("5").Visible = xlVeryHidden
Sheets("6").Visible = xlVeryHidden
Sheets("7").Visible = xlVeryHidden
Sheets("8").Visible = xlVeryHidden
Sheets("9").Visible = xlVeryHidden
End If
'Herr 2
If User = "B" Then
Sheets("Urlaubsplan QS 2018").Visible = True
Sheets("1").Visible = True
Sheets("2").Visible = True
Sheets("3").Visible = True
Sheets("4").Visible = True
Sheets("5").Visible = True
Sheets("6").Visible = True
Sheets("7").Visible = True
Sheets("8").Visible = True
Sheets("9").Visible = True
GoTo ende
Else
Sheets("Urlaubsplan QS 2018").Visible = True
Sheets("1").Visible = xlVeryHidden
Sheets("2").Visible = xlVeryHidden
Sheets("3").Visible = xlVeryHidden
Sheets("4").Visible = xlVeryHidden
Sheets("5").Visible = xlVeryHidden
Sheets("6").Visible = xlVeryHidden
Sheets("7").Visible = xlVeryHidden
Sheets("8").Visible = xlVeryHidden
Sheets("9").Visible = xlVeryHidden
End If
'Herr 3
If User = "C" Then
Sheets("3").Visible = True
Sheets("Urlaubsplan QS 2018").Visible = xlVeryHidden
Sheets("1").Visible = xlVeryHidden
Sheets("2").Visible = xlVeryHidden
Sheets("4").Visible = xlVeryHidden
Sheets("5").Visible = xlVeryHidden
Sheets("6").Visible = xlVeryHidden
Sheets("7").Visible = xlVeryHidden
Sheets("8").Visible = xlVeryHidden
Sheets("9").Visible = xlVeryHidden
GoTo ende
Else
Sheets("3").Visible = True
Sheets("Urlaubsplan QS 2018").Visible = xlVeryHidden
Sheets("1").Visible = xlVeryHidden
Sheets("2").Visible = xlVeryHidden
Sheets("4").Visible = xlVeryHidden
Sheets("5").Visible = xlVeryHidden
Sheets("6").Visible = xlVeryHidden
Sheets("7").Visible = xlVeryHidden
Sheets("8").Visible = xlVeryHidden
Sheets("9").Visible = xlVeryHidden
End If
'Herr 4
If User = "D" Then
Sheets("4").Visible = True
Sheets("Urlaubsplan QS 2018").Visible = xlVeryHidden
Sheets("1").Visible = xlVeryHidden
Sheets("2").Visible = xlVeryHidden
Sheets("3").Visible = xlVeryHidden
Sheets("5").Visible = xlVeryHidden
Sheets("6").Visible = xlVeryHidden
Sheets("7").Visible = xlVeryHidden
Sheets("8").Visible = xlVeryHidden
Sheets("9").Visible = xlVeryHidden
GoTo ende
Else
Sheets("4").Visible = True
Sheets("Urlaubsplan QS 2018").Visible = xlVeryHidden
Sheets("1").Visible = xlVeryHidden
Sheets("2").Visible = xlVeryHidden
Sheets("3").Visible = xlVeryHidden
Sheets("5").Visible = xlVeryHidden
Sheets("6").Visible = xlVeryHidden
Sheets("7").Visible = xlVeryHidden
Sheets("8").Visible = xlVeryHidden
Sheets("9").Visible = xlVeryHidden
End If
usw.
ende:
End Sub

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro unter Windows 10
15.05.2018 09:51:38
Hajo_Zi
nur wenige schauen auf Deinen Rechner und sehen die Datei.
Ich möchte gerne den Fehler im Original sehen.
Ich baue keine Datei nach. Die Zeit hat schon jemand investiert.
Ein Nachbau sieht meist anders aus als das Original. Darum sollte das Original verlinkt werden.
Wenn du an Stelle einer Demomappe deine Originalmappe hochladen willst, diese aber sensible Daten enthält, kannst du diese Daten anonymisieren bzw. pseudonymisieren.
Benutze hier im Forum die Funktion zum hochladen. Falls Du die nicht benutzen möchtest beachte, von unsicheren Servern wie z.B. www.file-upload.net lade ich keine Datei runter. (lt. Einschätzung meines Virenprogramms)
Damit sehen nur wenige wo der Fehler ist.

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
Anzeige
owT
15.05.2018 12:22:33
blablabla
AW: Makro unter Windows 10
15.05.2018 11:47:18
mmat
Hallo,
basierend auf der unglaublich exakten Fehlerbeschreibung muss ich raten:
Die Variable User wird nicht korrekt gesetzt.
Ist das so ?
AW: Makro unter Windows 10
15.05.2018 12:06:19
Rene
Ja leider wird der User nicht unter Windows 10 sauber erkannt. Ich weiß mir keinen Rat mehr
AW: Makro unter Windows 10
15.05.2018 12:07:49
Rene
Gibt es da noch eine andere Möglichkeit?
überflüssige Leerzeichen
15.05.2018 12:21:28
Rudi
Hallo,
User=Environ ("Username")
Gruß
Rudi
AW: überflüssige Leerzeichen
15.05.2018 12:29:34
mmat
Hallo,
das mit den Leerzeichen hätte ich auch vorgeschlagen. Alternativ wäre vielleicht der Username von Excel eine Lösung:
Application.UserName
AW: überflüssige Leerzeichen
15.05.2018 12:34:06
Rene
Hallo Rudi,
ich habe das angepasst. Trotzdem wird immer die letzte Tabelle geöffnet und nicht die Tabelle vom User der angemeldet ist. Wie gesagt, das ist nur an dem Windows 10 Rechner der Fall.
Anzeige
AW: überflüssige Leerzeichen
15.05.2018 12:36:56
mmat
Naja, vielleicht ist unter Windows 10 in der Umgebungs-Variablen ein anderer Inhalt.
Bau doch einfach mal eine Msgbox ein und überprüfe das.
AW: überflüssige Leerzeichen
15.05.2018 12:47:46
Rene
Habe jetzt mit MsgBox VBA.Environ("Username") getestet. Der Username wird richtig angezeigt aber leider trotzdem immer wieder die letzte Tabelle geöffnet. Zum Verzweifeln
Groß-Kleinschreibung beachtet?
15.05.2018 13:03:40
Rudi
"Rene" "rene"
Ich würde das derart machen:
Private Sub Workbook_Open()
Dim Blatt As Worksheet
Dim strUser As Variant
'erst mal alle ausblenden
For Each Blatt In Sheets
If Blatt.Name  "dummy" Then Blatt.Visible = xlSheetVeryHidden 'eins muss sichtbar sein
Next Blatt
strUser = LCase(Environ("USERNAME"))  'User in Kleinschreibung
Select Case strUser
Case "a", "b"         'Herr 1/ Herr2
Sheets("Urlaubsplan QS 2018").Visible = True
Sheets("1").Visible = xlSheetVisible
Sheets("2").Visible = xlSheetVisible
Sheets("3").Visible = xlSheetVisible
Sheets("4").Visible = xlSheetVisible
Sheets("5").Visible = xlSheetVisible
Sheets("6").Visible = xlSheetVisible
Sheets("7").Visible = xlSheetVisible
Sheets("8").Visible = xlSheetVisible
Sheets("9").Visible = xlSheetVisible
Case "c"
Sheets("3").Visible = True
Case "d"
Sheets("4").Visible = True
'etc
End Select
End Sub

Gruß
Rudi
Anzeige
AW: Groß-Kleinschreibung beachtet?
15.05.2018 13:29:35
Rene
Hallo Rudi,
das funktioniert super. Herzlichen Dank
MfG René
AW: Groß-Kleinschreibung beachtet?
15.05.2018 16:00:35
mmat
ja, aber dann ist das Problem doch gelöst, oder ?

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige