Hallo Leute,
ich habe einen ähnlichen Fall.
Ich habe in Column P eine Auswahlliste. Da gibt es YES or NO.
Nun möchte ich auf die ganze Liste für jede Zeile einzeln folgendes Anwenden.
Wenn P124 YES steht dann soll die Zeile von A124 bis Q124 verschwinden.
Aber nicht löschen, nur Ausblenden.
Über Hilfe würde ich mich freuen.
lg Bastian
Hallo,
ein Vorschlag:
Code:
Sub ausblenden()
Dim j As Long, lngZ As Long
Dim strgZeilen As String
Dim at, c00
Dim suchBegriff
suchBegriff = "Yes"
With Sheets("Tabelle1")
.Rows.Hidden = False
lngZ = .Cells(.Rows.Count, "P").End(xlUp).Row
at = .Range("P1:P" & lngZ) 'Bereich in dem gesucht werden soll
For j = 1 To UBound(at)
If IsNumeric(Application.Match(suchBegriff, Application.Index(at, j), 0)) Then c00 = c00 & ", " & j & ":" & j
Next j
strgZeilen = RTrim(Mid(Trim(c00), 3))
If strgZeilen <> "" Then
Range(strgZeilen).EntireRow.Hidden = True
Else
MsgBox suchBegriff & " in keiner Zeile gefunden!"
End If
End With
End Sub
Hallo Atilda,
Danke dir für die Antwort. Kurze Frage trotzdem dazu. Da wo Tabelle 1 steht, muss mein Blatt oder Tabellen Name stehen?
lg Bastian
Hallo,
ich könnte es Dir jetzt einfach machen und schreiben: "Ja, so ist es".
Ich könnte aber auch sagen: "Einfach mal testen".
:05: :19: :19: :19:
Danke
Hallo Atilda,
jetzt habe ich solang rumgedrückt und alles verändert aber nix geht.
Evtl wärst du noch einmal bereit zu helfen. Ich erkläre es noch einmal anders und erstmal nur an einer Zeile.
Ich habe eine Tabelle von A bis Q. Nun möchte ich wenn in Column P ein Yes steht (welches durch ein Auswahlfeld geschieht, wo ich YES, NO, Mismatch auswählen kann) , das die ganze Zeile (von A bis Q) verschwindet.
Danke für die Mühe.
Grüße
Bastian
Hallo Batida,
man kann keine Bereiche ausblenden, sondern nur ganze Zeilen oder Spalten.
Der bisherige Code hätte manuell oder über eine Schaltfläche angestoßen werden müssen.
Unterer Code reagiert auf Änderungen in Spalte P und sobald ein
Yes geschrieben bzw. ausgewählt wird,
wird die Zeile ausgeblendet:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 16 And Target.Count = 1 Then
If Target = "Yes" Then Rows(Target.Row).Hidden = True
End If
End Sub
Sub alle_einblenden()
ActiveSheet.Rows.Hidden = False
End Sub
Sub alle_einblenden muss wieder manuell angestoßen werden, und ist für den Fall gedacht, dass Du wieder alle Zeilen einblenden möchtest.
Hey hey, der erste hat auch schon Funktioniert habe ich gerade gesehen. Das Problem Lag nur in der meiner Schreibweise zwischen YES und Yes.
Nochmal Danke für die Zeit und Hilfe.
Grüße
BAstian