Office: VBA Skript: Zeilen verstecken

Helfe beim Thema VBA Skript: Zeilen verstecken in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, ich bräuchte mal wieder Eure profssionalle Hilfe. Sachverhalt ist folgender: In Sheet A soll in Zelle C4 eine Zahl von 1-10... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von sven82!, 26. September 2007.

  1. sven82! Erfahrener User

    VBA Skript: Zeilen verstecken


    Hallo zusammen,

    ich bräuchte mal wieder Eure profssionalle Hilfe. Sachverhalt ist folgender:

    In Sheet A soll in Zelle C4 eine Zahl von 1-10 eingetragen werden. Je nachdem, welche Zahl eingetragen wird, soll in Sheet B eine bestimmte Anzahl an Zeilen nicht angezeigt (d.h. versteckt) werden. Beide Sheets befinden sich in demselbem Workbook.

    Ein Beispiel:
    In C4 in Sheet A steht die Zahl 1. Es sollen in Sheet B die Zeilen 12-20 versteckt werden. Steht die Zahl 2, sollen in Sheet B die Zeilen 13-20 versteckt werden, ist eine 3 eingetragen, sollen nur die Zeilen 14-20 versteckt werden u.s.w.

    Ich denke, falls ich mal das Gerüst habe, dann kann ich den Rest selbst basteln.

    Vielen Dank schon mal im Voraus.

    Viele Grüße
    svenj82!
     
  2. schatzi Super-Moderator
    Hallo!

    Rechtsklicke den Reiter von "Sheet A" und wähle "Code anzeigen"
    Füge diesen Code ins Codefenster rechts ein:
    Code:
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address <> "$C$4" Then Exit Sub
    Dim i As Byte
    With Sheets("Sheet B")
    .Rows("11:20").Hidden = False
    For i = 11 + Target To 20
    .Rows(i).Hidden = True
    Next i
    End With
    End Sub
    
    Den Blattnamen von "Sheet B" musst gegebenenfalls anpassen.
     
  3. sven82! Erfahrener User
    Vielen Dank! Klappt einwandfrei.

    Noch eine Kleinigkeit: wie kann ich in dieses Skript nun zusätzlich einbauen, dass (wie bei dem Prinzip oben) die Zeilen 27-36 versteckt werden, wenn ich ebenfalls Zelle D4 eine Zahl von 1-10 eingetrage?

    Weitere Einträge erfolgen übrigens noch in den Zellen D4, E4, F4 ..., J4 erfolgen, die jeweils auf einen anderen Bereich in Sheet B verweisen.

    Viele Dank und viele Grüße
    Sven
     
  4. schatzi Super-Moderator

    VBA Skript: Zeilen verstecken

    Hallo!

    Das sähe dann so aus:
    Code:
    Private Sub Worksheet_Change(ByVal Target As Range)
    
    If Target.Address = "$C$4" Then
    Dim i As Byte
    With Sheets("Sheet B")
    .Rows("11:20").Hidden = False
    For i = 11 + Target To 20
    .Rows(i).Hidden = True
    Next i
    End With
    End If
    
    If Target.Address = "$D$4" Then
    Dim i As Byte
    With Sheets("Sheet B")
    .Rows("27:36").Hidden = False
    For i = 27 + Target To 36
    .Rows(i).Hidden = True
    Next i
    End With
    End If
    
    If Target.Address = "$E$4" Then
    usw.
    usw.
    
    End Sub
     
  5. sven82! Erfahrener User
    So ähnlich hatte ich es auch probiert.

    Es erscheint dann jedoch eine Fehlermeldung bei der Eintragung in die zweite Zelle (d.h. wenn ich C4 eine Zahl stehen habe und dann eine weitere in Zelle D4 eintrage). Der VBA-Editor öffnet sich und die Fehlermeldung

    "Compile Error:

    Duplicate declaration in current scope"

    und die Zeile "Dim i As Byte" wird markiert.

    Hast Du eine Ahnung, woran das liegt?
     
  6. sven82! Erfahrener User
    Ich hab's schon herausgefunden!

    Vielen Dank für Deine Hilfe!
     
  7. schatzi Super-Moderator
    Ja, logisch!
    Das kommt davon, wenn man die Dinger nicht testet, sorry...
    Versuch's mal so und deklariere i einmal ganz zu Anfang und nimm die anderen raus:

    Code:
    Private Sub Worksheet_Change(ByVal Target As Range)
    
    Dim i as Byte
    
    If Target.Address = "$C$4" Then
    With Sheets("Sheet B")
    .Rows("11:20").Hidden = False
    For i = 11 + Target To 20
    .Rows(i).Hidden = True
    Next i
    End With
    End If
    
    If Target.Address = "$D$4" Then
    With Sheets("Sheet B")
    .Rows("27:36").Hidden = False
    For i = 27 + Target To 36
    .Rows(i).Hidden = True
    Next i
    End With
    End If
    
    If Target.Address = "$E$4" Then
    usw.
    usw.
    
    End Sub
     
Thema:

VBA Skript: Zeilen verstecken

Die Seite wird geladen...
  1. VBA Skript: Zeilen verstecken - Similar Threads - VBA Skript Zeilen

  2. VBA in einer Zeile zu lang

    in Microsoft Excel Hilfe
    VBA in einer Zeile zu lang: Moin, mein VBA Code ist für eine Zeile zu lang. Kann mir einer helfen wie ich den auf 2 Zeilen aufteilen Kann? arrSchuhDaten = Array(Range("A6"), Range("F6"), Range("J6"), Range("A7"),...
  3. Listbox wird nicht breiter, Schriftgrösse ändert sich

    in Microsoft Excel Hilfe
    Listbox wird nicht breiter, Schriftgrösse ändert sich: Hallo, ich habe ein Formular dessen Breite ich mit der Maus ändern kann. Im Formular habe ich einen Rahmen und darin eine Listbox deren Breite an die Formularbreite angepasst wird....
  4. VBA-Daten aus HTML extrahieren, Skript unvollständig

    in Microsoft Excel Hilfe
    VBA-Daten aus HTML extrahieren, Skript unvollständig: Hi Zusammen, ich benötige ein Sript, welches mir aus Instagram folgende Daten rausholt und diese in ein Excelblatt schiebt. Dazu habe ich mir folgendes Skript zurecht geschustert. Es werden:...
  5. Zellen in anderes Arbeitsblatt kopieren bzw. datumsanhängig zeilenweise fortschreiben

    in Microsoft Excel Hilfe
    Zellen in anderes Arbeitsblatt kopieren bzw. datumsanhängig zeilenweise fortschreiben: Hallo zusammen, ich habe folgendes vor, für das man vermutlich VBA benötigt. Das Ganze soll "DAU-sicher" :rolleyes: sein und deshalb die Idee das Ganze Buttons (VBA-kripte) zu lösen: Wir haben...
  6. Outlook 2010: Eingehende Mails bestimmter Absender automatisch als privat markieren

    in Microsoft Outlook Hilfe
    Outlook 2010: Eingehende Mails bestimmter Absender automatisch als privat markieren: Hallo zusammen, ich möchte bei Outlook 2010 eingehende Mails bestimmter Absender im Posteingang automatisch als "privat" markieren. Meine diversen Versuche liefen bisher über den Regelassisten...
  7. VBA Skript Hilfe: Zeilenhöhe

    in Microsoft Excel Hilfe
    VBA Skript Hilfe: Zeilenhöhe: Hallo liebe Forumsmitglieder, ich bräuchte dringend Hilfe bei einem kurzen (wahrscheinlich) recht einfachen VBA Skript. Folgender Sachverhalt: Wenn Zeile 330=1, dann soll die Zeile 89 86...
  8. Hilfe bei VBA skript

    in Microsoft Excel Hilfe
    Hilfe bei VBA skript: Hallo ich bräuchte noch einmal eure Hilfe habe vor ein paar tagen schon mal hier rein geschrieben. Wenn ich ein neues Tabellen blatt erstellt habe sollen bestimmte formel automatisch...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden