Anzeige
Archiv - Navigation
1484to1488
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

Optimierung von VBA Code zum Zeilen ausblenden

Optimierung von VBA Code zum Zeilen ausblenden
09.04.2016 13:13:14
VBA
Hi Zusammen!
Ich hab mir mit VBA Rekorder und ein paar Schnipseln die ich im Forum gefunden habe einen Code gebastelt. Er funktioniert auch. Allerdings würde ich VBA gerne ein bisschen besser lernen und wollte deshalb wissen ob ihr eine Möglichkeit seht den Code zu optimieren.
Ich habe versucht mit With zu arbeiten.
With Sheets("Planung")
.Rows("52:53").Select
Selection.EntireRow.Hidden = True
' Restliche Code
End With
Allerdings macht er nicht das was ich will.
Hier der Code der funktioniert:
Private Sub LsmEinAusblenden()
Application.ScreenUpdating = False
If Cells(35, 4).Value = "Nein" Then
'Zeilen im Blatt Planung ausblenden - Blattschutz aus und einschalten
Sheets("Planung").Select
Application.Run "SchutzAus"
Rows("52:53").Select
Selection.EntireRow.Hidden = True
Range("A1").Select
Application.Run "SchutzEin"
'Zeile im Blatt Individualisierung ausblenden - Blattschutz aus und einschalten
Sheets("Individualisierung").Select
Application.Run "SchutzAus"
Rows("10:10").Select
Selection.EntireRow.Hidden = True
Range("G9").Select
Application.Run "SchutzEin"
Sheets("Eingabe").Select
ElseIf Cells(35, 4).Value = "Ja" Then
'Zeilen im Blatt Planung einblenden - Blattschutz aus und einschalten
Sheets("Planung").Select
Application.Run "SchutzAus"
Rows("52:53").Select
Selection.EntireRow.Hidden = False
Range("A1").Select
Application.Run "SchutzEin"
'Zeile im Blatt Individualisierung einblenden - Blattschutz aus und einschalten
Sheets("Individualisierung").Select
Application.Run "SchutzAus"
Rows("10").Select
Selection.EntireRow.Hidden = False
Range("G9").Select
Application.Run "SchutzEin"
Sheets("Eingabe").Select
End If
End Sub
Könnt ihr mir da vielleicht einen Tipp geben?
Danke und lg
Martin

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Optimierung von VBA Code zum Zeilen ausblenden
09.04.2016 13:35:50
VBA
Halo Martin,
Option Explicit
Sub tzz()
Sheets("Planung").Rows("52:53").EntireRow.Hidden = True
End Sub
Private Sub LsmEinAusblenden()
Application.ScreenUpdating = False
If Cells(35, 4).Value = "Nein" Then
'Zeilen im Blatt Planung ausblenden - Blattschutz aus und einschalten
Application.Run "SchutzAus"
Sheets("Planung").Rows("52:53").EntireRow.Hidden = True
Application.Run "SchutzEin"
'Zeile im Blatt Individualisierung ausblenden - Blattschutz aus und einschalten
Application.Run "SchutzAus"
Sheets("Individualisierung").Rows("10:10").EntireRow.Hidden = True
Application.Run "SchutzEin"
ElseIf Cells(35, 4).Value = "Ja" Then
'Zeilen im Blatt Planung einblenden - Blattschutz aus und einschalten
Application.Run "SchutzAus"
Sheets("Planung").Rows("52:53").EntireRow.Hidden = False
Application.Run "SchutzEin"
'Zeile im Blatt Individualisierung einblenden - Blattschutz aus und einschalten
Application.Run "SchutzAus"
Sheets("Individualisierung").SelectRows("10").EntireRow.Hidden = False
Application.Run "SchutzEin"
End If
End Sub
Sub Schutzaus()
MsgBox 1
End Sub
Sub Schutzein()
MsgBox 2
End Sub

Anzeige
AW: Optimierung von VBA Code zum Zeilen ausblenden
09.04.2016 13:36:15
VBA
Hallo Martin,
bei deinem oberen Code hast du vor Selection einen Punkt vergessen .Selection
Ohne vorher zu Selektieren:
With Sheets("Planung")
.Rows("52:53").Hidden = True
End With
Gruß Werner

AW: Optimierung von VBA Code zum Zeilen ausblenden
09.04.2016 18:46:22
VBA
Ok Sehr cool! Danke euch beiden!
Hab den Code jetzt angepasst. Gibt es noch Verbesserungsmöglichkeiten? Möglicherweise bei den Schutzmakros?
So sieht mein Code jetzt aus:
Sub TestSpaltenAusblenden()
Application.ScreenUpdating = False
Application.Run "SchutzFuerLseAus"
If Cells(35, 4).Value = "Nein" Then
Sheets("Planung").Rows("52:53").EntireRow.Hidden = True
Sheets("Individualisierung").Rows("10:10").EntireRow.Hidden = True
ElseIf Cells(35, 4).Value = "Ja" Then
Sheets("Planung").Rows("52:53").EntireRow.Hidden = False
Sheets("Individualisierung").Rows("10:10").EntireRow.Hidden = False
End If
Application.Run "SchutzFuerLseEin"
End Sub
Die Applications SchutzFuerLse:
Private Sub SchutzFuerLseAus()
Sheets("Individualisierung").Visible = True
Sheets("Planung").Visible = True
Sheets("Planung").Unprotect Password:="abc"
Sheets("Individualisierung").Unprotect Password:="abc"
End Sub
Private Sub SchutzFuerLseEin()
Sheets("Individualisierung").Visible = False
Sheets("Planung").Visible = False
Sheets("Planung").Protect Password:="abc"
Sheets("Individualisierung").Protect Password:="abc"
End Sub

Danke und lg
Martin

Anzeige
AW: Optimierung von VBA Code zum Zeilen ausblenden
09.04.2016 19:13:11
VBA
Ach ja,
die SchutzFuerLse Makros liegen in einem anderen Modul wo ich alle Makros drin habe die das Passwort verwenden. Somit brauche ich nur ein Modul zu öffnen um das Passwort zu ändern. Deshalb steuere ich das mit Application run an.
Vielleicht denk ich hier ja auch zu kompliziert...

AW: Optimierung von VBA Code zum Zeilen ausblenden
11.04.2016 18:51:30
VBA
Moin
Du koenntest auch das Workbook_open Ereignis und UserInterfaceOnly nutzen. UserInterfaceOnly laesst aenderungen durch Makro zu.
Bevor der Code wirkt muss die Mappe gespeichert und geschlossen werden.
Code in den Code "DieseArbeitsmappe"
Private Sub Workbook_Open()
Dim Passwort As String
Passwort = "abc" '--Passwort nur einmal aendern
Sheets("Planung").Protect Password:=Passwort, UserInterfaceOnly:=True
Sheets("Individualisierung").Protect Password:=Passwort, UserInterfaceOnly:=True
End Sub
der andere Code mit select.
Sub TestSpaltenAusblenden()
Select Case Cells(35, 4).Value
Case "Nein"
Sheets("Planung").Rows("52:53").Hidden = True
Sheets("Individualisierung").Rows("10:10").Hidden = True
Case "Ja"
Sheets("Planung").Rows("52:53").Hidden = False
Sheets("Individualisierung").Rows("10:10").Hidden = False
End Select
End Sub

gruss hary
Anzeige

320 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige