Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

zum nächsten sichtbaren Blatt springen
#1
Hallo,

ich habe eine Datei, in der ich per Makro Benutzerdefiniert Blätter ein und ausblende.
Das funktioniert auch alles soweit gut.

Aber als kleine Optimierung hätte ich gerne, das am Ende das makros, also wenn die entsprechenden Seiten eingeblendet wurde, die Ansicht auf das nächste jetzt sichtbare Blatt springt.
Da das Makro sich die Infos was eingeblendet werden soll aus einer Tabelle hohlt, bin ich mir nicht sicher wie man das einbauen kann.

Hier mal der Code:

Code:
Private Sub cmdOK_Click()
   Dim lngS As Long, lngZ As Long
   
   Initialisieren 'Zuerst wieder ale Blätter ausser START ausblenden
   
   If cmbName.ListIndex >= 0 Then
       lngS = cmbName.List(cmbName.ListIndex, 1)
       With Sheets("Einstellungen")
           If txtPasswort.Value = .Cells(2, lngS) Then
               For lngZ = 4 To .Cells(Rows.Count, 1).End(xlUp).row
                   If .Cells(lngZ, lngS) <> "" Then
                       Sheets(.Cells(lngZ, 1).Value).Visible = True
                   End If
               Next
           Else
               MsgBox "Falsches Passwort !"
           End If
       End With
   Else
       MsgBox "Bitte zuerst Benutzer auswählen und Passwort eingeben !"
   End If
   
   txtPasswort.Value = ""
End Sub
Grüße Mario  Angel
Antworten Top
#2
Hallo Mario,

z.B. so:
Private Sub cmdOK_Click()
  Dim lngS As Long, lngZ As Long
  Dim oWs As Worksheet
  Initialisieren 'Zuerst wieder ale Blätter ausser START ausblenden
 
  If cmbName.ListIndex >= 0 Then
      lngS = cmbName.List(cmbName.ListIndex, 1)
      With Sheets("Einstellungen")
          If txtPasswort.Value = .Cells(2, lngS) Then
              For lngZ = 4 To .Cells(Rows.Count, 1).End(xlUp).Row
                  If .Cells(lngZ, lngS) <> "" Then
                      Sheets(.Cells(lngZ, 1).Value).Visible = True
                      If oWs Is Nothing Then
                         Set oWs = Sheets(.Cells(lngZ, 1).Value)
                      End If
                  End If
              Next
          Else
              MsgBox "Falsches Passwort !"
          End If
      End With
  Else
      MsgBox "Bitte zuerst Benutzer auswählen und Passwort eingeben !"
  End If
  txtPasswort.Value = ""
  If Not oWs Is Nothing Then oWs.Activate
End Sub
Gruß Uwe
Antworten Top
#3
Hallo, herzlichen Dank, funktioniert.
Grüße Mario  Angel
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste