Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
184to188
184to188
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zeilen und Spalten ausblenden

Zeilen und Spalten ausblenden
26.11.2002 15:35:18
Stefan
Hallo zusammen,
Ich versuche aus einem Arbeitsblatt via Makro nach belieben einen Lieferschein oder eine Rechnung anzuzeigen.
Hierzu muss ich Spalte G + H, sowie Spalte J gegenseitig ein- und ausblenden.
Ich hab noch weitere Makros welche ich benutze, deshalb soll jedes die vorangegangene Auswahl aufheben.

Ich hab da mit etwas Hilfe schon etwas vorgearbeitet, nur zieht sich nun die Ausführung der Makros unerträglich lange hin.

Kann mir da jemand beim bereinigen helfen?

Jedenfalls schon mal Danke wenn sich jemand die Mühe nimmt.

Gruss Stefan

Sub Lieferschein()
ActiveSheet.Unprotect
Application.ScreenUpdating = False
Columns("A:M").Select
Selection.EntireColumn.Hidden = False
Application.ScreenUpdating = False
Range("G:G,H:H").Select
Selection.EntireColumn.Hidden = True
Application.ScreenUpdating = False
Columns("J:J").Select
Selection.EntireColumn.Hidden = False
Application.ScreenUpdating = False
Cells.Select
Selection.EntireRow.Hidden = False
Application.ScreenUpdating = False
Dim c As Range
For Each c In Range("A1:A300")
If Not c.Value = "1" And _
Not c.Value = "0" Then
c.EntireRow.Hidden = True
End If
Next c
Application.ScreenUpdating = True
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Range("A1").Select
End Sub

Sub Rechnung()
ActiveSheet.Unprotect
Application.ScreenUpdating = False
Columns("A:M").Select
Selection.EntireColumn.Hidden = False
Columns("J:J").Select
Selection.EntireColumn.Hidden = True
Cells.Select
Selection.EntireRow.Hidden = False
Application.ScreenUpdating = False
Dim c As Range
For Each c In Range("A1:A300")
If Not c.Value = "2" And _
Not c.Value = "0" Then
c.EntireRow.Hidden = True
End If
Next c
Application.ScreenUpdating = True
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Range("A1").Select
End Sub


4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Zeilen und Spalten ausblenden
26.11.2002 17:34:23
Jens Huthmann
Hallo Stefan,

1. Zum Teil blendest du Spalten mehrfach ein ("J:J" ist in "A:M" enthalten)
2. vermeide den select-Befehl
3. Du musst das screenupdating nur einmal auf false setzen.


Sub Lieferschein()
ActiveSheet.Unprotect
Application.ScreenUpdating = False
Columns("A:M").Hidden = False
Columns("G:H").Hidden = True
Cells.EntireRow.Hidden = False
Dim c As Range
For Each c In Range("A1:A300")
If Not c.Value = 1 And _
Not c.Value = 0 Then
c.EntireRow.Hidden = True
End If
Next c
Application.ScreenUpdating = True
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Range("A1").Select
End Sub


Sub Rechnung()
ActiveSheet.Unprotect
Application.ScreenUpdating = False
Columns("A:M").Hidden = False
Columns("J:J").Hidden = True
Cells.EntireRow.Hidden = False
Dim c As Range
For Each c In Range("A1:A300")
If Not c.Value = "2" And _
Not c.Value = "0" Then
c.EntireRow.Hidden = True
End If
Next c
Application.ScreenUpdating = True
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Range("A1").Select
End Sub


Gruß
Jens Huthmann

Anzeige
Re: Zeilen und Spalten ausblenden
26.11.2002 17:40:36
Stefan
Vielen Dank,

Ich muss es zuhause mal ausprobieren.

Bin halt noch ein anfänger in VBA.

Nochmals vielen Dank

Re: Zeilen und Spalten ausblenden
26.11.2002 17:46:06
M. Kuhn
Moin Stefan,

das erste Sub habe ich im Code eingekürzt (Select raus), unklar ist die Zeile:

Cells.Select & nachfolgende.

Was soll hier bewirkt werden?

Der Code:

Sub Lieferschein()
Dim c As Range
ActiveSheet.Unprotect
Application.ScreenUpdating = False
Columns("A:M").EntireColumn.Hidden = False
Range("G:G,H:H").EntireColumn.Hidden = True
Columns("J:J").EntireColumn.Hidden = False
Cells.EntireRow.Hidden = False
For Each c In Range("A1:A300")
If Not c.Value = "1" And Not c.Value = "0" Then
c.EntireRow.Hidden = True
End If
Next c
Application.ScreenUpdating = True
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Cells("A1").Select
End Sub

Passe Sub Lieferschein einmal dem an und poste erneut, wenn noch Probleme bestehen.

MfG Mario

Anzeige
Sorry, ich bin langsam ;-) (o.T.)
26.11.2002 17:48:49
M. Kuhn

358 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige