Registriert seit: 21.11.2014
Version(en): 2013
Guten Tag
Gibt es eine Möglichkeit das ein Makro nur in bestimmten Arbeitsblättern abläuft.
Also ind den Arbeitsblättern Jan bis Dez soll es laufen in anderen nicht.
Ich bitte um Eure Hilfe.
Registriert seit: 11.04.2014
Version(en): Office 365
09.04.2018, 11:41
(Dieser Beitrag wurde zuletzt bearbeitet: 09.04.2018, 11:41 von Klaus-Dieter.)
Hallo,
ja, das geht. Für eine Konkrete Hilfe solltest du wenigstens beschreiben, was das Makro wie machen sollt. Am besten wäre es, du stellst es hier mal ein.
Gleich noch der Hinweis, dass das splitten von Daten auf mehrere Tabellenblätter (Monate) nicht so optimal ist. Gleichartige Daten gehören auf ein Tabellenblatt.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter,
der Misserfolg ist ein Waisenkind
Richard Cobden
Registriert seit: 21.11.2014
Version(en): 2013
Hallo Klaus-Dieter
Statt wie in Zeile 2 in der ich andere Sheets abfrage, möchte ich das dieses Makro in den 12 Sheets Jan bis Dez durchläuft.
Code:
Public Sub cmd_N_einblenden(control As IRibbonControl) ' Einblenden Nachtschicht
If ActiveSheet.Name = ("INFO") Or ActiveSheet.Name = ("Einstellungen") Or ActiveSheet.Name = ("Jahreskalender") Or ActiveSheet.Name = ("Aktuell") Then Exit Sub
Rows("11:115").EntireRow.Hidden = True
Dim n As Range
For Each n In Range("I11:AM116")
If n.Value = "N" Then
n.EntireRow.Hidden = False
End If
Next n
Application.GoTo reference:=[A1], Scroll:=True
End Sub
Gruß Peter
Registriert seit: 05.09.2017
Version(en): 2013
Hallo Peter,
das ist doch nur das Pferd andersherum aufgezäumt. Dein vorgestellter Code schließt bestimmte Blätter aus (sprich in denen läuft der Code nicht). Du willst aber jetzt explizit die Blätter ansprechen in denen der Code laufen soll. Das Ergebnis ist doch das selbe?
Code:
Public Sub cmd_N_einblenden(control As IRibbonControl) ' Einblenden Nachtschicht
Dim n As Range
Select Case ActiveSheet.Name
Case "Jan", "Feb", "Mär", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"
Rows("11:115").EntireRow.Hidden = True
For Each n In Range("I11:AM116")
If n.Value = "N" Then
n.EntireRow.Hidden = False
End If
Next n
Case Else
End Select
Application.GoTo reference:=[A1], Scroll:=True
End Sub
Die Blattnamen müsstest du ggf. noch anpassen.
Gruß Werner
Registriert seit: 21.11.2014
Version(en): 2013
Hallo Werner
Das ist genau dass was ich gesucht habe.
Vielen Dank für die Lösung meines Problemes.
Gruß Peter :19: