Office: Excel 20078 - Zeilen ausblenden, wenn der Wert 0 ist

Helfe beim Thema Excel 20078 - Zeilen ausblenden, wenn der Wert 0 ist in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Ich habe ein Excel-Dokument, welches aus 5 Tabellen besteht. Für die Seiten 3, 4 und 5 benötige ich eine Funktion, das wenn in der Zeile A36 0 steht,... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Aithnea, 30. Oktober 2008.

  1. Aithnea Erfahrener User

    Excel 20078 - Zeilen ausblenden, wenn der Wert 0 ist


    Ich habe ein Excel-Dokument, welches aus 5 Tabellen besteht.
    Für die Seiten 3, 4 und 5 benötige ich eine Funktion, das wenn in der Zeile A36 0 steht, diese komplett ausgeblendet wird.
    Die Tabelle 1 dient als Ausfüll-Maske
    Tabelle 2 enthält die Formeln und Berechnungen.
    Die Tabellen 3, und 5 sind mit Verknüpfungen zur Berechnung bestückt.
     
    Aithnea, 30. Oktober 2008
    #1
  2. miriki Erfahrener User
    Mit folgendem Code in Blatt 2 sollte es gehen:
    Code:
    Private Sub Worksheet_Calculate()
    
        Dim t(3) As String
        Dim n As Long
    
        t(1) = "Tabelle3"
        t(2) = "Tabelle4"
        t(3) = "Tabelle5"
    
        For n = 1 To 3
            If Worksheets(t(n)).Cells(36, 1).Value = 0 Then
                Worksheets(t(n)).Rows(36).RowHeight = 0
              Else
                Worksheets(t(n)).Rows(36).AutoFit
            End If
        Next n
    
    End Sub
    Gruß, Michael
     
  3. Aithnea Erfahrener User
    *nickt*

    Ersteinmal lieben Dank für die schnelle Antwort.

    ich muss nur leider meine absoluten minimalen Excel-Kenntnisse offenbaren.

    Wo und wie muss ich diesen Code hinterlegen?

    Könnt Ihr das für eine Anfängerin wie mich logisch und einfach erklären?
     
    Aithnea, 30. Oktober 2008
    #3
  4. miriki Erfahrener User

    Excel 20078 - Zeilen ausblenden, wenn der Wert 0 ist

    Das geht schnell und einfach:

    a) Öffne die Arbeitsmappe

    b) drücke Alt-F11
    Es geht ein neues Fenster "Visual Basic" auf. Links siehst Du eine Auflistung Deiner Tabellen (ggf. [+] anklicken), rechts den Source oder auch nur eine graue Fläche.

    c) Doppelklick links auf "Tabelle2"
    Das öffnet den Source für Tabelle2, entweder ein kpl. leeres Blatt oder sowas wie z.B. "Option Explicit" in den ersten Zeilen.

    d) Kopiere den Code aus dem Posting und füge ihn dort im rechten Fenster unten ein.

    e) Schließe das VBA-Fenster, speicher die Mappe und dann sollte es gehen.

    Gruß, Michael
     
  5. Aithnea Erfahrener User
    Klingt wirklich einfach, nur passiert bei mir Folgendes:

    Ich wähle Alt F11 und visual basic öffnet sich. Aber der gesamte Bildschirm ist grau...ein "+" kann ich nirgendwo entdecken. So weiß ich leider nicht, wo und wie ich source finden soll... :-(
     
    Aithnea, 30. Oktober 2008
    #5
  6. Krino Erfahrener User
    Wenn Du nach Alt+F11 nur eine graue Fläche siehst:
    Drücke F7 und Strg+R, dann kannst Du den Code einfügen, so wie von Michael beschrieben.
     
  7. Aithnea Erfahrener User
    Er ruft dann meine Datei auf (Projekt - VBA Projekt)
    Ich wähle meine Tabelle (genannt x) aus
    Es öffnet sich ein Fenster:

    Links oben: Worksheet
    rechts oben: Calculate

    Dort trage ich den obigen code ein?!
     
    Aithnea, 30. Oktober 2008
    #7
  8. Krino Erfahrener User

    Excel 20078 - Zeilen ausblenden, wenn der Wert 0 ist

    Ich denke ja. Oben links (in der Explorer-Leiste) sollte VBA.Project Mappe 1 stehen. Klicke auf das davorstehende +Zeichen. Dann solltest Du die Namen Deiner 5 Tabellenblätter sehen. Gegebenenfalls weitere +Zeichen drücken.
    Doppelklick auf den Namen des gewünschten Tabellenblatts. Rechts kommt eine leere weiße Fläche. Dort den Cursor hineinstellen und Strg+V oder Rechtsklick - Einfügen.

    Ich habe allerdings noch Excel 2002; hoffen wir, daß es bei Dir nicht zu sehr anders ausschaut...
     
  9. Aithnea Erfahrener User
    Den richtigen Ort zum hinterlegen habe ich nun gefunden und es auch gemacht.

    Muss ich denn in den Tabellen 3,4, und 5 nun etwas beachten? Also wenn ich den Bezug herstellen will?

    Jetzt sieht es so aus:
    in Tabelle X steht bei c27 = 0

    Tabelle 3 A36 =X!c27 also 0 (diese Zeile sollte damit doch dann verschwinden, was sie aber leider nicht tut.

    Ein weiteres Problem ist, ich benötige diese Funktion für die Zeilen A36, A37, A38, A39, A40 und A41


    *schaut hilfesuchend*
    Ich komme mir gerade so unwissend vor :-(
     
    Aithnea, 30. Oktober 2008
    #9
  10. miriki Erfahrener User
    (Ich würde ja zu gerne ein attachment anhängen, aber das forum läßt mich nicht...)
    Nein, nur "Tabelle2" ist wichtig, wenn, wie Du schreibst, dort die Berechnungen durchgeführt werden.

    In Tabelle2 wird das Ereignis "Neuberechnen" genutzt, um nach der Berechnung der Formeln, also demnach auch nach der Eingabe aktueller Werte in Tabelle1, zu entscheiden, ob in den Blättern 3..5 die Zeile(n) ausgeblendet (rowheight=0) oder eingeblendet (autofit) werden sollen.

    c27 ist aber eine Formel, oder? und "X" steht hoffentlich für "2", oder? Wenn nicht, wird auch das "Neuberechnen"-Ereignis nicht aufgerufen.

    Alternativ könnte man sonst auch das "Ändern" (Change) Ereignis der Tabelle1 benutzen. Dort (und nur dort?) werden ja die Werte eingegeben, die in Tabelle2 zur Berechnung benutzt und in Tabelle3..5 angezeigt werden. Zumindest habe ich es bislang so verstanden...?

    Yep, die sollte verschwinden, wenn:
    a) Tabelle2!c27 eine Formel beinhaltet und
    b) sich der Wert (das Ergebnis) durch Eingabe in Tabelle1 ändert

    Das ist kein Problem: Ändere
    Code:
        For n = 1 To 3 
            If Worksheets(t(n)).Cells(36, 1).Value = 0 Then 
                Worksheets(t(n)).Rows(36).RowHeight = 0 
              Else 
                Worksheets(t(n)).Rows(36).AutoFit 
            End If 
        Next n
    in
    Code:
        For n = 1 To 3 
            for y=36 to 41
                If Worksheets(t(n)).Cells(y, 1).Value = 0 Then 
                    Worksheets(t(n)).Rows(y).RowHeight = 0 
                  Else 
                    Worksheets(t(n)).Rows(y).AutoFit 
                End If 
            next y
        Next n
    Jetzt ist also eine zusätzliche Schleife "for y" dazugekommen, die die Zeilen 36 bis 41 durchläuft, dort jeweils in Spalte 1 (also "A") nach dem Wert guckt, und ggf. dann die Zeile aus- oder einblendet.

    Gruß, Michael
     
  11. miriki Erfahrener User
    Da das mit dem Attachment ja nicht will, versuch ich mal eine Beispiel-Umgebung zu beschreiben:

    "Tabelle1" hat Eingabefelder in C3, C5 und C7

    "Tabelle2" hat Formeln in den Feldern
    C3: =Tabelle1!C3
    C5: =Tabelle1!C5
    C7: =Tabelle1!C7
    (Das sind dann natürlich normalerweise irgendwelche umfangreichere Berechnungen.)

    "Tabelle3" hat Formel in
    A36: =Tabelle2!C3

    "Tabelle4" hat Formel in
    A36: =Tabelle2!C5

    "Tabelle5" hat Formel in
    A36: =Tabelle2!C7

    Wenn du jetzt in Tabelle2 den Code eingefügt hast, sollte es funktionieren.

    Gib in eines der 3 Eingabefelder in Tabelle1 einen Wert ein. Überprüfe das Ergebnis auf Tabelle2 und schalte dann auf das entsprechende Blatt, um zu sehen, ob die Zeile ausgeblendet ist.

    Gruß, Michael
     
  12. Aithnea Erfahrener User
    Oh, Ihr seid echt schnell.

    *nickt* Tabelle 2 heißt bei mir im Moment "X", weil mit einem Buchstaben die Formelschreiberei nicht ganz so lange dauert.

    I will try it...ganz langsam und in Ruhe.

    Und dann melde ich mich wieder.

    Habt lieben Dank bis dahin!
     
  13. miriki Erfahrener User

    Excel 20078 - Zeilen ausblenden, wenn der Wert 0 ist

    Ach, ich vergaß:
    Sollte es nach Einbau der "for y" Geschichte zu einer Fehlermeldung kommen, dann hast Du mit ziemlicher Sicherheit die Zeile
    Code:
    Option Explicit
    ganz oben im Source stehen. Dann (nicht nur dann, aber dann ganz besonders ;-) ) brauchst Du noch die Zeile
    Code:
        dim y as long
    direkt hinter der "dim n as long" zeile.

    Gruß, Michael
     
  14. Aithnea Erfahrener User
    Also ich habe nun alles dementsprechend abgeändert, aber es funktioniert noch immer nicht. Ich merke nicht, dass sich etwas verändert hat.

    Normalerweise sollte doch nun jedes Feld in Tabelle 2 so konfiguriert sein, aber es klappt bei keinem einzigen...

    *schüttelt Kopf* Ich verstehe es wirklich nicht...
     
  15. Krino Erfahrener User
    Ich habe jetzt mal Michaels Beispiel-Umgebung mit dem Original-Code nachgebaut. Bei mir funktioniert es.

    Auf Tabelle 1 z. B. die Werte 9 - 0 - 0 in C3 / C5 / C7.

    D. h. die 9 landet in A36 auf Blatt 3, die Nullen in A36 auf Blatt 4 bzw. Blatt 5.
    Jetzt macht man auf Blatt 2 irgend eine Berechnung.
    Im gleichen Augenblick wird Zeile 36 auf Blatt 4 und Blatt 5 ausgeblendet.

    Trägt man jetzt auf Blatt 2 in allen 3 Zellen andere Zahlen als Null ein und macht wieder eine Berechnung, so werden die Zeilen wieder eingeblendet.

    Also das Makro wird ausgelöst durch eine Berechnung (egal welche) auf Blatt 2.

    P.S. Wirklich Sch... , daß zur Zeit keine Uploads möglich sind! :cry:
     
Thema:

Excel 20078 - Zeilen ausblenden, wenn der Wert 0 ist

Die Seite wird geladen...
  1. Excel 20078 - Zeilen ausblenden, wenn der Wert 0 ist - Similar Threads - Excel 20078 Zeilen

  2. Name der Datei durch Excel geändert

    in Microsoft Excel Hilfe
    Name der Datei durch Excel geändert: Hallo und guten Abend, Die Datei wird mittels Button (VBA) zwischen gesichert. Das Makro sichert zuvor die Datei und erstellt zus. eine Sicherungsdatei mit der Erweiterung Beispiel-"Sich"....
  3. Hochzählen Zelle Excel oder Office365?

    in Microsoft Excel Hilfe
    Hochzählen Zelle Excel oder Office365?: Hallo zusammen Ich möchte im Excel eine Spalte mit den Schaltknopf hochzählen. Lokal funktioniert es einwandfrei, wie könnte ich es lösen da verschiedene Personen die gleiche Datei öffnen müssen,...
  4. Zugriff auf nicht vorhandene Datei seitens Excel

    in Microsoft Excel Hilfe
    Zugriff auf nicht vorhandene Datei seitens Excel: Hallo, wann immer ich in Excel Daten in eine Zelle gebe, dauert es ca. 1-2 Minuten, bevor Excel die weitere Bearbeitung freigibt. Unten links gibt es den Hinweis "Zugriff auf Datei erfolgt". Dies...
  5. pdf drucken mit button in excel einfügen

    in Microsoft Excel Hilfe
    pdf drucken mit button in excel einfügen: Guten Abend! Habe mit zahlreicher Unterstützung geschafft einen Button auf mein dritten Tabellenblatt einzufügen Funktion fähig. Nun brauche ich nochmals Hilfe. Ich will mittels des PDF Drucken...
  6. Excel icon fehlt

    in Microsoft Excel Hilfe
    Excel icon fehlt: Hallo zusammen ich habe das Icon aus Datei nicht um Daten abzurufen [ATTACH] was kann ich tun? bei Daten zusammenführen ist es vorhanden - ich möchte eigentlich alle Tabellenblätter in eine...
  7. Excel Tabellenblatt als PDF speichern unter Vorgabe Dateinamen aus einer Zelle

    in Microsoft Excel Hilfe
    Excel Tabellenblatt als PDF speichern unter Vorgabe Dateinamen aus einer Zelle: Hallo zusammen, ich möchte eine VBA Programmierung machen wie folgt. Das aktuelle Excel-Tabellenblatt soll als PDF Speicher unter, unter Vorgabe des Dateinamens der in Zelle A1 steht gespeichert...
  8. VBA: Platzhalter ersetzen und evtl. leere Zeile einfügen

    in Microsoft Word Hilfe
    VBA: Platzhalter ersetzen und evtl. leere Zeile einfügen: Hallo zusammen, ich habe eine Word-Vorlage mit Platzhaltern, in die ich mit VBA Daten aus einer Excel-Datei einfüge (in eine Excel-Zeile schreibe ich alle Daten für ein neues Word-Dokument). So...
  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