Makro läuft nur in bestimmten Sheets
#1
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. Exclamation
Top
#2
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
Top
#3
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
Top
#4
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
Top
#5
Hallo Werner

Das ist genau dass was ich gesucht habe.

Vielen Dank für die Lösung meines Problemes.

Gruß Peter :19:
Top


Gehe zu:


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