Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
816to820
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
816to820
816to820
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Code kürzen/ automatisch/ entflackern

Code kürzen/ automatisch/ entflackern
13.11.2006 20:10:11
Doris
Hallo,
der unten aufgeführte Code blendet Zeilen aus, wenn bestimmte
Zellen den Wert 0 enthalten.
Zwei Fragen dazu:
a) Kann man diesen Code noch kürzen?
b) Das Arbeitsblatt in dem sich der Code befindet, wird
erst dann aktuallisiert wenn ich irgendeine Zelle
anklicke. Geht das nicht auch automatisch?
(Der Wert O steht im Bezug zu einem anderen Blatt)
c) Wenn der Code sich durch die Zellen arbeitet(ich nehne
das mal so) flackert der Bildschirm. Ist das Normal?
Vorab schon mal ein Dankeschön.
LG
Doris

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If [e3].Value = 0 Then
Rows("3").EntireRow.Hidden = True
Else
Rows("3").EntireRow.Hidden = False
End If
If [e4].Value = 0 Then
Rows("4").EntireRow.Hidden = True
Else
Rows("4").EntireRow.Hidden = False
End If
If [e5].Value = 0 Then
Rows("5").EntireRow.Hidden = True
Else
Rows("5").EntireRow.Hidden = False
End If
If [e10].Value = 0 Then
Rows("10").EntireRow.Hidden = True
Else
Rows("10").EntireRow.Hidden = False
End If
If [e11].Value = 0 Then
Rows("11").EntireRow.Hidden = True
Else
Rows("11").EntireRow.Hidden = False
End If
If [e12].Value = 0 Then
Rows("12").EntireRow.Hidden = True
Else
Rows("12").EntireRow.Hidden = False
End If
If [e13].Value = 0 Then
Rows("13").EntireRow.Hidden = True
Else
Rows("13").EntireRow.Hidden = False
End If
If [e14].Value = 0 Then
Rows("14").EntireRow.Hidden = True
Else
Rows("14").EntireRow.Hidden = False
End If
If [e15].Value = 0 Then
Rows("15").EntireRow.Hidden = True
Else
Rows("15").EntireRow.Hidden = False
End If
If [e16].Value = 0 Then
Rows("16").EntireRow.Hidden = True
Else
Rows("16").EntireRow.Hidden = False
End If
If [e17].Value = 0 Then
Rows("17").EntireRow.Hidden = True
Else
Rows("17").EntireRow.Hidden = False
End If
If [e18].Value = 0 Then
Rows("18").EntireRow.Hidden = True
Else
Rows("18").EntireRow.Hidden = False
End If
End Sub

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Code kürzen/ automatisch/ entflackern
13.11.2006 20:14:31
ramses
Hallo
probier mal
Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim i As Long
Application.ScreenUpdating = False
For i = 3 To 18
If Worksheets("DeineBezugstabelle").Cells(i, 4).Value = 0 Then
Rows(i).EntireRow.Hidden = Not Rows(i).EntireRow.Hidden
End If
Next i
Application.ScreenUpdating = True
End Sub

Gruss Rainer
AW: Code kürzen/ automatisch/ entflackern
13.11.2006 20:26:33
Doris
Hallo Rainer,
das ging ja Superschnell!
Vielen Dank für Deine Hilfe!
a) Schön kurz :-)
b) Kein flackern mehr :-)
C) Der Klick in einer Zelle bleibt leider,
sonst ist wird das Blatt nicht aktuallisiert.
Kannst Du vielleicht da noch etwas machen?
LG
Doris
Anzeige
AW: Code kürzen/ automatisch/ entflackern
13.11.2006 20:29:04
ramses
Hallo
Verschieb den Code in das Worksheet_Calculate Ereignis
Gruss Rainer
AW: Code kürzen/ automatisch/ entflackern
13.11.2006 20:48:07
Doris
Hallo Rainer,
bekomme es leider nicht hin. :-(
Bin wohl zu doof!
>>Verschieb den Code in das Worksheet_Calculate Ereignis
Hab ich mal so Versucht. Was passiert? Excel hängt sich auf.

Private Sub Worksheet_Calculate()
Dim i As Long
Application.ScreenUpdating = False
For i = 3 To 18
If Worksheets("HE5").Cells(i, 4).Value = 0 Then
Rows(i).EntireRow.Hidden = Not Rows(i).EntireRow.Hidden
End If
Next i
Application.ScreenUpdating = True
End Sub

LG
Doris
Anzeige
AW: Code kürzen/ automatisch/ entflackern
13.11.2006 22:53:35
ramses
Hallo
Doof :-(

Private Sub Worksheet_Calculate()
Dim i As Long
Application.EnableEvents = False
Application.ScreenUpdating = False
For i = 3 To 18
If Worksheets("HE5").Cells(i, 4).Value = 0 Then
Rows(i).EntireRow.Hidden = Not Rows(i).EntireRow.Hidden
End If
Next i
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub

EXCEL berechnet natürlich ständig neu, wenn irgendwelche Zeilen ein- oder ausgeblendet werden.
Mit "Application.EnableEvents = False" wird dieses Ereignis nun ausgeschaltet
Gruss Rainer
Danke, das war es! Gruß Doris o.w.T.
14.11.2006 00:33:59
Doris
.
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige