Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1488to1492
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

Wie kombiniert man mehrere Makros

Wie kombiniert man mehrere Makros
17.04.2016 18:58:35
Herr
Hallo Zusammen,
ich habe folgende Frage. Ich habe mehrere Makros, auch schon aus diesem Forum, nochmals danke dafür. Doch wie bringe ich diese jetzt alle zur Anwendung? Kann ich im VBA einfach hinter einander weg alle aufführen oder muss man diese miteinander verbinden, in einen Code?
Vielen Dank für Eure Hilfe!
Vielleicht, um es gleich konkret zu machen:
Ich habe diese Makros:
Makro 1: zum Ein- und Ausklappen von Spalten
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
With Target
If .Address(0, 0) = "C6" Then
Range("F:T").EntireColumn.Hidden = False
Select Case .Value
Case "": Range("F:T").EntireColumn.Hidden = True
Case 1: Range("I:T").EntireColumn.Hidden = True
Case 2: Range("L:T").EntireColumn.Hidden = True
Case 3: Range("O:T").EntireColumn.Hidden = True
Case 4: Range("R:T").EntireColumn.Hidden = True
Case Else
End Select
End If
If .Address(0, 0) = "C7" Then
Range("U:AC").EntireColumn.Hidden = False
Select Case .Value
Case "": Range("U:AC").EntireColumn.Hidden = True
Case 1: Range("X:AC").EntireColumn.Hidden = True
Case 2: Range("AA:AC").EntireColumn.Hidden = True
Case Else
End Select
End If
If .Address(0, 0) = "C8" Then
Range("AD:AI").EntireColumn.Hidden = False
Select Case .Value
Case "": Range("AD:AI").EntireColumn.Hidden = True
Case 1: Range("AG:AI").EntireColumn.Hidden = True
Case Else
End Select
End If
End With
End Sub

Makro 2: später ist alles durch den Blattschutz geschützt, trotzdem soll aber das Ein- und Ausklappen von Gruppierungen noch funktionieren
Sub Workbook_Open()
ActiveSheet.Protect userinterfaceonly:=True, Password:="BICTK"
ActiveSheet.EnableOutlining = True 'für Gliederung
ActiveSheet.EnableAutoFilter = True 'für Autofilter
End Sub
Eigentlich bräuchte ich auch noch eine Lösung damit der Makro 1 nach dem Blattschutz auch noch funktioniert. Tut er nämlich aktuell nicht mehr.
Danke für eure Unterstützung!

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wie kombiniert man mehrere Makros
17.04.2016 19:12:34
Hajo_Zi
das sind Ereignis Makros, daraus kann man nicht eins machen.
Hebe im Makro den Blattschutz auf und setze ihn vor End Sub.

AW: Wie kombiniert man mehrere Makros
17.04.2016 20:07:48
Herr
Hallo und danke für die schnelle Antwort,
kannst du mir das bitte nochmal näher erläutern? Wo setzte ich was hin? Bleibt der Blattschutz für alles andere erhalten?
Danke nochmals.

AW: Wie kombiniert man mehrere Makros
17.04.2016 20:10:02
Hajo_Zi
es gibt auch ein Makrorecorder.
ActiveSheet.Unprotect
ActiveSheet.Protect
Ja

AW: Wie kombiniert man mehrere Makros
17.04.2016 20:34:24
Herr
Okay, ich hab leider nicht viel Ahnung, sorry. Ich bekomme es nicht hin ohne, dass Debugg-Fehler kommen.
Kannst du mir vielleicht nochmal explizit in den Code einsetzen, wo, was hinkommt, damit das Ein-/Aufklappen der Spalten und das Ein-/Ausklappen der Zeilengruppierung funktioniert?
Mir ist immer noch nicht klar, ob ich den zeiten Makro brauche und ob ich diesen einfach hinter den anderen schreibe?
Danke für die Geduld!!

Private Sub Worksheet_Change(ByVal Target As Range)
With Target
If .Address(0, 0) = "C6" Then
Range("F:T").EntireColumn.Hidden = False
Select Case .Value
Case "": Range("F:T").EntireColumn.Hidden = True
Case 1: Range("I:T").EntireColumn.Hidden = True
Case 2: Range("L:T").EntireColumn.Hidden = True
Case 3: Range("O:T").EntireColumn.Hidden = True
Case 4: Range("R:T").EntireColumn.Hidden = True
Case Else
End Select
End If
If .Address(0, 0) = "C7" Then
Range("U:AC").EntireColumn.Hidden = False
Select Case .Value
Case "": Range("U:AC").EntireColumn.Hidden = True
Case 1: Range("X:AC").EntireColumn.Hidden = True
Case 2: Range("AA:AC").EntireColumn.Hidden = True
Case Else
End Select
End If
If .Address(0, 0) = "C8" Then
Range("AD:AI").EntireColumn.Hidden = False
Select Case .Value
Case "": Range("AD:AI").EntireColumn.Hidden = True
Case 1: Range("AG:AI").EntireColumn.Hidden = True
Case Else
End Select
End If
End With
End Sub
-----------------------------
Sub Workbook_Open()
ActiveSheet.Protect userinterfaceonly:=True, Password:="BICTK"
ActiveSheet.EnableOutlining = True 'für Gliederung
ActiveSheet.EnableAutoFilter = True 'für Autofilter
End Sub

Anzeige
AW: Wie kombiniert man mehrere Makros
17.04.2016 20:51:38
Hajo_Zi
ich hatte doch schon geschrieben setzen vor End Sub das dürfte doch eindeutig sein.
Aufheben nach der Zeile Private...
Gruß Hajo

AW: Wie kombiniert man mehrere Makros
17.04.2016 21:07:46
Werner
Hallo,
Private Sub Worksheet_Change(ByVal Target As Range)
Unprotect Password:="BICTK"
With Target
If .Address(0, 0) = "C6" Then
Range("F:T").EntireColumn.Hidden = False
Select Case .Value
Case "": Range("F:T").EntireColumn.Hidden = True
Case 1: Range("I:T").EntireColumn.Hidden = True
Case 2: Range("L:T").EntireColumn.Hidden = True
Case 3: Range("O:T").EntireColumn.Hidden = True
Case 4: Range("R:T").EntireColumn.Hidden = True
Case Else
End Select
End If
If .Address(0, 0) = "C7" Then
Range("U:AC").EntireColumn.Hidden = False
Select Case .Value
Case "": Range("U:AC").EntireColumn.Hidden = True
Case 1: Range("X:AC").EntireColumn.Hidden = True
Case 2: Range("AA:AC").EntireColumn.Hidden = True
Case Else
End Select
End If
If .Address(0, 0) = "C8" Then
Range("AD:AI").EntireColumn.Hidden = False
Select Case .Value
Case "": Range("AD:AI").EntireColumn.Hidden = True
Case 1: Range("AG:AI").EntireColumn.Hidden = True
Case Else
End Select
End If
End With
Protect userinterfaceonly:=True, Password:="BICTK"
End Sub
Gruß Werner

Anzeige
AW: Wie kombiniert man mehrere Makros
17.04.2016 21:15:26
Herr
Super vielen Dank!

AW: Gerne u. Danke für die Rückmeldung. o.w.T.
17.04.2016 21:18:23
Werner

AW: Wie kombiniert man mehrere Makros
18.04.2016 06:04:56
Hajo_Zi
es gibt auch ein Makrorecorder.
ActiveSheet.Unprotect
ActiveSheet.Protect
Ja

AW: Wie kombiniert man mehrere Makros
17.04.2016 19:42:55
Hajo_Zi
das sind Ereignis Makros, daraus kann man nicht eins machen.
Hebe im Makro den Blattschutz auf und setze ihn vor End Sub.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige