Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1672to1676
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
Ausblenden von Zeilen
04.02.2019 15:49:01
Zeilen
Hallo alle zusammen,
vielleicht kann mir jemand helfen, was echt super wäre.
Ich habe eine Tabelle, in der unbenutzte Zeilen abhängig von der Zeile und Spalte 2, sofern _ diese leer ist, verkleinert (bzw. ausgeblendet) werden. Hierzu benutzt das Programm folgenden Code.

Sub ausblenden()
Dim wks As Worksheet
Dim i As Integer
Dim Zelle As Range
Application.ScreenUpdating = False
Application.Calculation = False
Set wks = Tabelle3
With wks
For i = 15 To 60 Step 9
For Each Zelle In .Cells(i, 2).Resize(8)
Zelle.EntireRow.RowHeight = 0.5 - 14.5 * (Zelle > 0)
Next Zelle
Next i
Set Zelle = Nothing
End With
Set wks = Nothing
Application.ScreenUpdating = True
Application.Calculation = True
End Sub
Wenn ich den Code richtig interpretiere, prüft er die jeweilige Spalte 2 auf das Vorhandensein von einem dortigen Vorhandenseins eines Eintrags, wenn dort nichts eingetragen, wird es ausgeblendet.
Kann man zusäötzlich noch Spalte 3 prüfen? Ich möchte, dass er, wenn in 2 etwas steht noch prüft, ob spalte 3 ein "Off" hat. Wenn dort was anderes steht, soll er die Zeile nicht ausblenden.
Im Ergebnis soll er prüfen: Wenn in Spalte 2 nichts, dann verkleinern. Wenn in Spalte 2 etwas steht, dann prüfe noch zusätzlich, ob Spalte 3 "Off" steht. Wenn ja, Spalte verkleinern, wenn Spalte einblenden
Vielen Dank vorab an alle, die helfen können.
Danke Peter.

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ausblenden von Zeilen
04.02.2019 17:06:40
Zeilen
Wie kommst du darauf, dass da irgend was geprüft werden würde?
AW: Ausblenden von Zeilen
04.02.2019 17:09:32
Zeilen
Hallo,
das interpretierst du falsch.Es wird in Zeile 15, 24, 33 etc jede Zelle im Bereich B:I gepprüft und die Höhe der Zeile wenn die Zelle leer ist, auf 0,5 gesetzt.
Imho ist das Blödsinn, da letztendlich I die Zeilenhöhe bestimmt.
Sub ausblenden()
Dim wks As Worksheet
Dim i As Integer
Dim Zelle As Range
Application.ScreenUpdating = False
Application.Calculation = False
Set wks = Tabelle3
With wks
For i = 15 To 60 Step 9
If Cells(i, 2) = "" Then
If Cells(i, 3) = "Off" Then
Rows(i).Rows(i).Hidden = True
End If
End If
Next i
Set Zelle = Nothing
End With
Set wks = Nothing
Application.ScreenUpdating = True
Application.Calculation = True
End Sub

Gruß
Rudi
Anzeige
AW: Ausblenden von Zeilen
04.02.2019 17:19:56
Zeilen
Danke für Eure vorschläge
Rudi, angesichts der Umstände (ich habe da Gruppierungen im Hintergrund laufen) ist es besser, die zeilen auf 0,5 zu verkleinern. Das mti dem ausblenden hatte ich anfangs schon probiert, hat aber immer zu Schwierigkeiten geführt. Ich wäre daher dankbar, wenn es besser mit dem Verkleinern der ZEilen (virtuelles ausblenden) einhergehen würde...
AW: Ausblenden von Zeilen
04.02.2019 18:41:02
Zeilen
Hallo Rudi,
so wie Du habe ich zuerst auch gedacht, dann aber im Test Folgendes festgestellt:

- .Cells(i, 2).Resize(8) erzeugt den Rangebereich B15:B22 und nicht B15:I15
- die Zelle B23, B32 sowie weitere werden in der Überprüfung übersprungen
- und  0,5 ist auch falsch gedacht, da der folgende Ausdruck
  0.5 - 14.5 * (Zelle > 0) hinterfotzig ist
- (Zelle > 0) ergibt entweder True oder False
  steht in der Zelle was drin, egal was, dann wird der Ausdruck True
  nur wenn die Zelle richtig leer ist (auch kein Leerzeichen enthält) dann kommt False heraus
- das ist eine merkwürdige Vba-eigene Logik
steht in Range-Zelle der Buchstabe a oder ein Leerzeichen drin
  dann ergibt (Zelle > 0) den Wert True
  während "a" > 0 einen Typunverträglichkeits-Fehler auswirft
da True Vba-technisch den Wert -1 hat kommt folgende Rechnung im Wahrheitsfall raus:
- 0.5 -(14.5*-1) und das ist 0.5 + 14.5
- glaub mir, da habe ich auch erst mal Bauklötzer gestaunt

Gruß von Luschi
aus klein-Paris
Anzeige
AW: Ausblenden von Zeilen
04.02.2019 19:05:48
Zeilen
Luschi, und wie kann man das mit dem verbinden, dass ich gerne noch die zweite Prüfung mit drinnen habe ? Hast eine Idee?
AW: Ausblenden von Zeilen
04.02.2019 19:31:59
Zeilen
Das hier reicht doch völlig:
    Dim i
With Tabelle3
For i = 15 To 60
Rows(i).Hidden = False
If Cells(i, 2) = "" Or Cells(i, 3) = "Off" Then Rows(i).Hidden = True
Next i
End With

AW: Ausblenden von Zeilen
04.02.2019 19:39:48
Zeilen
Sorry, habe die Punkte vergessen.
   Dim i
With Tabelle3
For i = 15 To 60
.Rows(i).Hidden = False
If .Cells(i, 2) = "" Or .Cells(i, 3) = "Off" Then .Rows(i).Hidden = True
Next i
End With

AW: Ausblenden von Zeilen
05.02.2019 06:21:56
Zeilen
Hey Onur...
zu deinem Code
Dim i
With Tabelle3
For i = 15 To 60
.Rows(i).Hidden = False
If .Cells(i, 2) = "" Or .Cells(i, 3) = "Off" Then .Rows(i).Hidden = True
Next i
End With
Der klingt ja echt super. Es gibt nur einen kleinen Haken. Die Zellen sind tatsächlich eigentlich ja nur sichtbar nicht leer. Dh es steht dort ein Verweis drinnen (=Tabelle2!A1). Jetzt blendet er mir das natürlich nicht aus, da die Zelle für ihn ja eigentlich nicht leer an sich ist. Solange ich auf Tabelle3 in A1 nichts reinschreibe, solange bleibt die Zelle auf Tabelle 1 sichtbar natürlich leer. Er müsste also auf die "sichtbaren" Werte reagieren.... kannst mir da nochmal helfen.
Luschi.. die Tabelle kann ich leider nicht einstellen, die ist leider so umfangreich und voller persönlicher Daten, die ich nicht eben mal rauslöschen kann. Danke trotzdem für die Hilfe.
Anzeige
AW: Ausblenden von Zeilen
05.02.2019 06:26:18
Zeilen
"Im Ergebnis soll er prüfen: Wenn in Spalte 2 nichts, dann verkleinern. Wenn in Spalte 2 etwas steht, dann prüfe noch zusätzlich, ob Spalte 3 "Off" steht. Wenn ja, Spalte verkleinern, wenn Spalte einblenden" - DAS war deine Vorgabe.
AW: Ausblenden von Zeilen
05.02.2019 06:50:39
Zeilen
Sorry für das unverständliche Ausdrücken.
Habe es mittlerweile auch hinbekommen.
With Tabelle3
For i = 15 To 67
.Rows(i).Hidden = False
If .Cells(i, 2).Value = 0 Or .Cells(i, 3).Value = "Off" Then .Rows(i).Hidden = True
Next i
End With
Allerdings funktioniert genau das eben NICHT. Bei Gruppierten Zeilen werden die "ausgeblendeten Zeile" nach schließen und öffnen der Gruppierung wieder eingeblendet.
Anzeige
AW: Ausblenden von Zeilen
05.02.2019 06:52:58
Zeilen
Auch DAVON war nie die Rede.
AW: Ausblenden von Zeilen
05.02.2019 07:39:10
Zeilen
Musst du richtig lesen... Das habe ich sehr wohl erwähnt.
Es ist leider echt schwierig hier geworden. Ich glaube dem ein oder anderem hier ist der Begriff Forum nicht mehr so im Gedächtnis - da sollte man sich helfen versuchen. Wir sind alle keine "Profis" wie es zum Glück viele hier sind und verzeihe bitte, wenn man sich etwas fälschlich und nicht fachchinesisch ausdrückt. Deswegen fragt man nach. Aber viele verfallen hier nur noch in Grundsatzdiskussionen und das eigentliche Problem wird aus dem Auge verloren.
Eigentlich wollte ich für einen bestehenden Code nur noch eine "kleine" Ergänzung. Seither redet man sich den Mund fusselig über unnötige Dinge.
Wenn Du keine Lust auf helfen hast, bitte dann lass es und halte dich raus.
Danke an alle, die trotzdem nocht Lust auf helfen besitzen.
Anzeige
AW: Ausblenden von Zeilen
05.02.2019 08:24:39
Zeilen
Diese Wischi-Waschi-Aussage:
„angesichts der Umstände (ich habe da Gruppierungen im Hintergrund laufen“ ist also die Erwähnung?
„Wenn du keine Lust hast zu helfen“? - Hast du sie noch alle?
Ich HABE dir bereits geholfen!!! Und nicht mal ein „Danke“ erhalten !!
Wenn du etwas mitdenken könntest, würdest du einfach
aus rows(i).hidden=false
Rows(i).rowheight=0
machen und bei true 15.
Das problem bei solchen Foren sind Leute wie du, denen man jeden Mist aus der Nase ziehen muss, weil sie weder eine Datei posten, wo man die Probleme sofort sehen könnte, noch sich präzise ausdrücken können und dann auch noch eine grosse Fresse haben.
Anzeige
AW: Ausblenden von Zeilen
04.02.2019 20:15:01
Zeilen
Hallo Peter,
Du hast gesehen/gelesen, daß sich auch absolute Experten vertun können, wenn nur der Vba-Code, aber keine Beispieldatei bereitgestellt wird.
Deshalb schweige ich bis zur Inbesitznahme einer Beispieldatei, die Deinen Voraussetzungen entspricht.
Gruß von Luschi
aus klein-Paris

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige