ausblenden mehrerer zeilen und spalten

  • Excel

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von Pingg.

    ausblenden mehrerer zeilen und spalten

    was soll das programm machen:
    wenn eine 0 in einer bestimmten zelle steht soll er von dieser zeile an bis 200 alle ausblenden
    aber wen eine 1 drin steht soll er sie wieder einblenden
    sobald er die erste 0 gefunden hat kann er aufhören, da dannach auch alle zu überprüfenden zellen eine 0 enthalten

    hab mir in der letzten stunde bisschen was zusammen kopiert und das kam raus:
    das hier war mein erster versuch bei dem er immer alle 17 zellen ausgeblendet hat bis zur nexten zu überprüfenden zelle
    klappt auch schön dauert nur ewig

    Visual Basic-Quellcode

    1. Private Sub Worksheet_Change(ByVal Target As Range)
    2. Dim zeile As Integer
    3. Dim bereich As Integer
    4. Dim lRow As Long
    5. lRow = 13
    6. For zeile = lRow To 67 Step +18
    7. If Range("c" & zeile).Value = "0" Then
    8. For bereich = 0 To 17
    9. Rows(zeile + bereich).Hidden = True
    10. Next bereich
    11. Else
    12. For bereich = 0 To 17
    13. Rows(zeile + bereich).Hidden = False
    14. Next bereich
    15. End If
    16. Next zeile
    17. End Sub


    also dacht ich mir vielleicht gibts ja so einen befehl

    Visual Basic-Quellcode

    1. Rows("zeile:200").Hidden = True
    aber das will er nicht :(

    und wie schaff ich es das er nach der ersten 0 aufhört

    schon mal vielen dank für die hilfe
    ahh super funktioniert wunderbar und dauert nur noch 1sek statt 30 :D

    vielen dank schon mal aber nun hab ich das selbe problem mit spalten

    ich hab rows statt range gelassen und es klappt hast du dich da vertippt?

    Visual Basic-Quellcode

    1. Private Sub CommandButton1_Click()
    2. Dim zeile As Integer
    3. Dim spalte As Integer
    4. Rows("35:600").Hidden = False
    5. Columns("D:DS").Hidden = False
    6. For zeile = 36 To 576 Step 18
    7. If Range("c" & zeile).Value = "0" Then
    8. Rows(zeile & ":600").Hidden = True
    9. Exit For
    10. Else
    11. End If
    12. Next zeile
    13. For spalte = 6 To 123 Step 3
    14. If Cells(10, spalte).Value = "-" Then
    15. Columns(spalte - 1).Hidden = True
    16. Columns(spalte - 2).Hidden = True
    17. Columns(spalte & ":DS").Hidden = True
    18. Exit For
    19. Else
    20. End If
    21. Next spalte
    22. End Sub


    zeile 18 will er nicht habs mit DS und 120 probiert

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Pingg“ ()

    danke fürs excel starten :D
    nun klappt alles wie gewünscht

    hier noch mal der ganze code falls es noch jemand brauchen sollte, hasse es nehmlich wenn ich was ergoogle und dann steht nur da oh supi hat geklappt und nirgends steht wie es nun schluss endlich geklappt hat :D

    Visual Basic-Quellcode

    1. Private Sub CommandButton1_Click()
    2. Dim zeile As Integer
    3. Dim spalte As Integer
    4. Rows("35:1400").Hidden = False
    5. Columns("D:EB").Hidden = False
    6. For zeile = 36 To 1400 Step 18
    7. If Range("c" & zeile).Value = "0" Then
    8. Rows(zeile & ":1400").Hidden = True
    9. Exit For
    10. Else
    11. End If
    12. Next zeile
    13. For spalte = 6 To 132 Step 3
    14. If Cells(10, spalte).Value = "-" Then
    15. Columns(spalte - 1).Hidden = True
    16. Columns(spalte - 2).Hidden = True
    17. Range(Cells(1, spalte), "EB1").EntireColumn.Hidden = True
    18. Exit For
    19. Else
    20. End If
    21. Next spalte
    22. End Sub


    kurze beschreibung:
    per klick auf einen button werden mehrere zellen in einer spalte überprüft bis der inhalt einer 0 ist und dann werden alle zeilen ab dieser ausgeblendet
    danach werden einige zellen in einer zeile überprüft bis in einer - steht darauf werden die 2 spalten davor und alle nachfolgenden ausgeblendet
    also einmal auf den button klicken dann ist mein arbeitsblatt perfekt formatiert zum ausdrucken :)