Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1608to1612
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
Rows Hidden
27.02.2018 03:20:32
Daniel
Geschätzte Freunde des Excel
Folgender Code weigert sich einfach, das zu tun, was ihm meiner Meinung nach beauftragt worden ist. Es geht darum, dass er bei einem bestimmten Zellwert Zeilen ausblenden müsste:
Private Sub Worksheet_Change(ByVal Target As Range)
'Blendet die Korrekturrechner I-III sowie weitere Teile automatisch aus)
'schaltet "Bremsen" aus
Application.ScreenUpdating = False
Application.DisplayAlerts = False
'Korrekturrechner I
If WorksheetFunction.Sum(Sheets("RT").Range("D18")) = 0 And WorksheetFunction.Sum(Sheets("   _
_
_
RT").Range("D19")) = 0 Then
Sheets("RT").Rows("17:19").EntireRow.Hidden = True
Else
Sheets("RT").Rows("17:19").EntireRow.Hidden = False
End If
'Korrekturrechner II
If WorksheetFunction.Sum(Sheets("RT").Range("D26:G26")) = 0 Then
Sheets("RT").Rows("25:26").EntireRow.Hidden = True
Else
Sheets("RT").Rows("25:26").EntireRow.Hidden = False
End If
'Überschussverteilung
If Sheets("RT").Range("D28") = 0 Then
Sheets("RT").Rows("29:31").EntireRow.Hidden = True
Else
Sheets("RT").Rows("29:31").EntireRow.Hidden = False
End If
'Korrekturrechner III
If WorksheetFunction.Sum(Sheets("RT").Range("H33:K33")) = 0 Then
Sheets("RT").Rows("32:33").EntireRow.Hidden = True
Else
Sheets("RT").Rows("32:33").EntireRow.Hidden = False
End If
'schaltet "Bremsen" ein
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub

Woran könnte es liegen? Die einzelnen Codesequenzen abgespielt funktionieren. Ich sehe da echt nicht mehr durch.
Danke für eure Inputs.

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Rows Hidden
27.02.2018 03:36:12
Rainer
Hallo Daniel,
keiner weiß was in deinem Blatt steht. Die banale Antwort ist: deine If-Schleifen erzeugen andere Resultate als erwartet.
Aber um die Fehlersuche zu erleichtern mach ich es meist so:
Ändere:

'Korrekturrechner I
If WorksheetFunction.Sum(Sheets("RT").Range("D18")) = 0 And WorksheetFunction.Sum(Sheets("   _
_
_
_
RT").Range("D19")) = 0 Then
Sheets("RT").Rows("17:19").EntireRow.Hidden = True
Else
Sheets("RT").Rows("17:19").EntireRow.Hidden = False
End If
zu:
'Korrekturrechner I
Test1 = WorksheetFunction.Sum(Sheets("RT").Range("D18"))
Test2 = WorksheetFunction.Sum(Sheets("RT").Range("D19"))
If Test1 = 0 and Test2 = 0 Then
Sheets("RT").Rows("17:19").EntireRow.Hidden = True
Else
Sheets("RT").Rows("17:19").EntireRow.Hidden = False
End If
So kannst du die Zwischenschritte einfacher verfolgen und sehen, wo Abweichungen auftreten. Übersichtlicher ist es zudem auch.
Welchen Sinn hat es im übrigen, aus einer Zelle Range("D18") eine Summe zu bilden?
Gruß,
Rainer
Anzeige
AW: Rows Hidden
27.02.2018 03:42:18
Daniel
Hallo Rainer
Danke für die hilfreiche Antwort. Die Sache ist: Es ist eine riesige Arbeitsmappe mit ziemlich viel Code, diese Mühe will ich niemandem zumuten. Gehe ich in zumindest richtig der Annahme, dass du codemässig auf den ersten Blick keinen groben Schnitzer siehst, sondern der Fehler auf der Ebene der Resultate zu suchen ist?
Ja, das mit dem Range stimmt völlig, es war eben noch ein Bereich damit gemeint, das habe ich vergessen anzupassen.
Beste Grüsse - Daniel
AW: Rows Hidden
27.02.2018 03:57:48
Daniel
Hurra, Morgenstund' hat Gold im Mund! Die Lösung war, dass ich auch fälschlicherweise davon ausging, dass die Änderung von Zahlen anhand einer Formel auch ein Change-Ereignis ist, was natürlich nicht stimmt. Ich habe nun den identischen Code in der anderen Tabelle platziert und es funktioniert nun einwandfrei.
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige