Office: komplette Zeile ausblenden, wenn Tabelle1!a1=wahr

Helfe beim Thema komplette Zeile ausblenden, wenn Tabelle1!a1=wahr in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; hallo zusammen, ich bin seit genau einer Minute neu in diesem Forum und möchte gleich mal ein Lob für die sehr gute Arbeit von euch allen... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von enzo, 18. November 2008.

  1. enzo Erfahrener User

    komplette Zeile ausblenden, wenn Tabelle1!a1=wahr


    hallo zusammen,

    ich bin seit genau einer Minute neu in diesem Forum und möchte gleich mal ein Lob für die sehr gute Arbeit von euch allen aussprechen, denn ihr hab mir schon oft mit euren Beiträgen weitergeholfen. Danke!

    Jetzt benötige ich Hilfe beim automatischen ausblenden von Zeilen. Auch nach sehr intensiver Suche konnte ich keinen Beitrag finden der mir weiterhilft!!!

    Also mein Problem:
    Ich habe eine Mappe mit mehreren Blättern zur automatischen endlosen Schichtplanung. Ich möchte nun, dass wenn Tabelle1 in z.B. A1=WAHR oder FALSCH ist, das dann in Tabelle2 die Zeile2 ausgeblendet oder eingeblendet wird. Ich sitz da nun schon eine Woche dran und bin langsam am verzweifeln.

    Achso ich muss noch dazusagen, dass ich absolut keine Ahnung von VBA's habe.

    Für eure Hilfe wär ich euch sehr ankbar.

    Liebe Grüße
    Enzo
     
  2. miriki Erfahrener User
    Das kriegst Du nur mit VBA hin. Und da gibt es mehrere Ansätze. Der einfachste wäre:
    • a) In tabelle1!a1 wird der Wert wahr/falsch direkt eingegeben.
    Etwas schwieriger wird es, wenn:
    • b) in tabelle1!a1 steht eine Formel, die wahr/falsch liefert. Das Ergebnis ist aber direkt von einer anderen, bekannten Zelle abhängig, in der eine Eingabe erfolgt.
    Und schon recht haarig wird es, wenn:
    • c) in tabelle1!a1 ist eine Formel, die wiederum mit ergebnissen aus anderen Formeln gefüttert wird und man kann kaum nachvollziehen, welche Eingabe (welche Zelle) zu wahr/falsch führt.
    Die Frage ist nämlich, welches "Ereignis" man anzapft, um das Aus- und Ein-Blenden zu erledigen. Denkbar wäre dabei das "Change"-Ereignis, das eintritt, wenn der Inhalt einer Zelle geändert wird. Außerdem wäre da noch das "Calc"-Ereignis, das ausgelöst wird, nachdem die Werte von Formeln neu berechnet wurden. Und als letzten Notnagel könnte man auch noch "SelectionChange" nehmen, das jedesmal ausgelöst wird, nachdem der Cursor seine Position wechselt.

    Bei Möglichkeit a) könnte man direkt im Change überprüfen, ob die Zelle tabelle1!a1 geändert wurde. Wenn ja, wird abhängig vom (neuen) Wert ein- oder aus-geblendet.

    Für b) könnte man ebenfalls das Change benutzen, müßte aber nicht tabelle1!a1 überprüfen, sondern die Zelle, die zur Neuberechnung führt, also z.B. tabelle2!b2.

    Unschön ist c), da man da eigentlich nur das Calc benutzen kann. Das bedeutet aber auch, daß bei jeder, wirklich jeder Neuberechnung jedesmal wieder das Ein- und Aus-Blenden aufgerufen wird. Das verlangsamt die Sache schon etwas.

    Und richtig unschön ist es, SelectionChange zu benutzen, weil das nicht nur bei Neuberechnungen, sondern sogar bei jeder Cursor-Bewegung z.B. durch die Pfeiltasten, ausgelöst wird.

    Ich denke aber mal, a) oder b) sollte fast immer möglich sein. Schau mal in Deine Tabelle, ob da was paßt, dann kann man da was hinbasteln. Sind nicht wirklich viele Code-Zeilen.

    Gruß, Michael
     
  3. enzo Erfahrener User
    Hallo Michael,

    vielen Dank für deine Antwort.

    Nun wie schon gesagt mit VBA kenne ich überhaupt nicht aus und kann dir somit leider nur teilweise folgen. :shock:
    Aber so wie ich dich verstanden habe wird das bei mir schon unschön, denn Tabelle!A1 ist ein Kontrollkästchen und in B2 wir Wahr oder Falsch ausgegeben.
    Könntest du mir dafür eine Lösung empfehlen???
    Ich komm damit einfach nicht weiter! :evil:

    Grüße Enzo
     
  4. miriki Erfahrener User

    komplette Zeile ausblenden, wenn Tabelle1!a1=wahr

    Ne... Tabelle1!A1 ist eine Zelle (in einem Arbeitsblatt einer Arbeitsmappe). ;-)

    Ähm... Also... Wird die Zelle A1 als Kontrollkästchen benutzt, indem dort z.B. ein "X" eingegeben wird? Oder ist auf A1 ein "echtes" Kontrollkästchen platziert, also so eins, das mit der Maus angeklickt wird?

    Wenn Letzteres, dann die Frage: Ist es eines aus der Symbolleiste "Formular" (urks...) oder "Steuerelement-Toolbox" (hoffentlich!).

    Wenn wiederum Letzteres, dann gibt es nämlich ein Ereignis "Click" für die CheckBox, das ausgelöst wird, wenn der Status der CheckBox sich ändert, also von "wahr" auf "falsch" oder umgekehrt wechselt. Genau in diesem Ereignis müßte dann das Ein-/Aus-Blenden geschehen:

    Code:
    Private Sub CheckBox1_Click()
        If CheckBox1.Value = True Then
            'zeilen ausblenden, wenn "wahr"
          Else
            'zeilen einblenden, wenn "falsch"
        End If
    End Sub
    Unterscheiden kannst Du die beiden Arten der CheckBoxen relativ simpel: Klicke das Ding mal mit der rechten Maustaste an.

    Wenn es so einen dicken, schraffierten Rahmen bekommt und das Kontext-Menü (u.a. "Steuerelement formatieren...") kommt, dann ist es aus "Formular".

    Wird nur der Text umrandet und sonst passiert nichts, dann ist es das aus "Steuerlement-Toolbox". Und dann haben wir in 0,nix eine Lösung für Dich, die obendrein nicht mal unnötig Ressourcen verbrät.

    Gruß, Michael
     
  5. enzo Erfahrener User
    Hallo Michael,
    also es kommt so ein schraffierter Rahmen mit dem Kontexmenü z.B. Steuerelement formatieren. Das habe ich aus der Menüleiste unter Entwicklertolls und dann auf Formularsteuerelemente. Aber, Recht hast du A1 ist selbstverständlich eine Zelle :lol: .
    Hilf mir doch ber bitte mal auf die Sprünge was ich mit deinem Code machen soll!?!?!?

    Gruß Enzo
     
  6. miriki Erfahrener User
    Schade... ;-)

    Leider in dem Fall gar nichts, denn mit den "Formular"-Elementen wirkt der nicht.

    Ich kenne x2007 nicht, von daher kann ich Dir nicht genau sagen, wo Du es findest. Aber in x2000 gibt es das Menü "Ansicht - Symbolleisten", dort findet man u.a. "Formular", aber auch "Steuerelement-Toolbox". Deine CheckBox ist aus Ersterer, Du bräuchtest aber die aus Letzterer.

    Wenn Du die 2. findest, dann kannst Du:
    - die "Formular"-Checkbox löschen
    - eine "Steuerelement-Toolbox"-Checkbox auf A1 setzen
    - ggf. (nicht zwingend notwendig) darauf rechte Maustaste, Eigenschaften
    - in dem Eigenschaften-Fenster die Eigenschaft "LinkedCell" mit einer Zelle füllen, wo "wahr" oder "falsch" erscheinen soll, zusätzlich zu dem "Häkchen"-Status der Checkbox selbst.
    - das Eigenschaften-Fenster schließen.
    - den "Entwurfsmodus beenden" durch Klick auf das kleine Symbol mit blauem Dreicks-Lineal und Stift in der Symbolleiste.

    - Alt-F11 (oder Menü "Extras - Makro - Visual-Basic-Editor") drücken --> VBA-Editor erscheint
    - falls der Projekt-Explorer nicht sichtbar ist, Strg-R (oder Menü "Ansicht - Projekt-Explorer") drücken
    - im Projekt-Explorer auf "Tabelle1 (Tabelle1)" Doppelklick, wenn das das Blatt ist, auf dem die Checkbox liegt.
    - in der linken Auswahlbox "(Allgemein) - Checkbox1 - Worksheet" über dem Source-Code (großes, leeres Blatt) den Eintrag "Checkbox1" auswählen.
    - zwischen den neu erschienenen 2 Zeilen "private .. end", wo auch der Cursor steht, den Code aus dem vorigen Posting einfügen.

    Der Code macht zunächst erstmal gar nichts, also nicht wundern. Aber wenn Du es bis hierhiun geschafft hast, obwohl ich es nur aus x2000-Sicht beschreiben kann, dann melde Dich nochmal und wir füllen das Ding endgültig mit Leben. ;-)

    Gruß, Michael
     
  7. enzo Erfahrener User
    Sch... ! Danke erst mal. Ich werd schauen ob ich das so hin bekomme wie in dener Anleitung. Wenn es funtzt, dann melde ich mich noch mal.

    Gruß Enzo
     
  8. < Peter >
    < Peter > Erfahrener User

    komplette Zeile ausblenden, wenn Tabelle1!a1=wahr

    Hallo,

    siehst du in XL2007 in der Multifunktionsleiste ein Register Entwicklertools? Wenn ja, dann findest du dort die Gruppe Steuerelemente. Wenn du auf Einfügen klickst dann findest du im oberen Bereich die 'Formularsteuerelemente' und im unteren Bereich die 'ActiveX-Steuerelemente' die du hier benötigst.

    Wenn du dieses Register nicht siehst dann klicke auf die Office-Schaltfläche - Excel-Optionen - Häufig verwendet und setze dort einen Haken bei dem Punkt 'Entwicklerregisterkarte in der Multifunktionsleiste anzeigen'.
     
    < Peter >, 20. November 2008
    #8
  9. enzo Erfahrener User
    Hallo Peter,
    die hab ich und ich habe jetzt auch ein 'ActiveX-Steuerelement' eingefügt! Nun ab ich aber davon überhaupt keinen Plan.
    Wie kann ich denn mit diesem Ding etwas steuern?
    Wäre SUPER, wenn du mir weiterhelfen könntest.

    Gruß Enzo
     
  10. < Peter >
    < Peter > Erfahrener User
    Hallo,

    den Rest überlasse ich jetzt wieder Michael.

    Ich habe mich nur kurz zu Wort gemeldet weil das mit der Symbolleiste in XL2007 doch etwas von den Vorgängerversionen abweicht.

    In Michaels Posting geht es jetzt an dieser Stelle weiter:

    Wenn Du die 2. findest, dann kannst Du:
     
    < Peter >, 20. November 2008
    #10
  11. enzo Erfahrener User
    Peter ich danke dir trotzdem für deine Hilfe. Jetzt kenne ich doch schon mal den Unterschied der beiden Boxen komplette Zeile ausblenden, wenn Tabelle1!a1=wahr *:p* .

    Gruß Enzo
     
  12. enzo Erfahrener User
    Hallo Michael,
    ich bin ganz glücklich, denn es hat bisher alles funktioniert :lol: komplette Zeile ausblenden, wenn Tabelle1!a1=wahr *:p* .

    Könntest du mir jetzt bitte noch mit dem "endgültig mit Leben" erfüllen helfen.

    ich habe aber damit noch ein weiteres Problem, denn es soll nicht nur eine Zeile aus- bzw. eingeblendet werden. Aber ich glaub da muss ich weiter ausholen:
    ich habe in der Tabelle1 von a1 bis a24 jeweils so ne Box, da ich alle Zeilen die ich nicht in meiner Kalkulation benötige ein- bzw. ausblenden möchte (Arbeitszeitkalkulation pro Tag).
    Kann ich das dann auch beliebig erweitern?

    Gruß Enzo
     
  13. miriki Erfahrener User

    komplette Zeile ausblenden, wenn Tabelle1!a1=wahr

    Jau, das ist jetzt kein wirklich großes Problem mehr.

    Dann gestaltet sich das zwar umfangreicher, aber nicht schwieriger. Es ist eine reine Fleiß-Arbeit.

    Du bist jetzt an dem Punkt, wo Du
    Code:
    Private Sub CheckBox1_Click() 
        If CheckBox1.Value = True Then 
            'zeilen ausblenden, wenn "wahr" 
          Else 
            'zeilen einblenden, wenn "falsch" 
        End If 
    End Sub
    im Source-Editor stehen hast, ja?
    Diese Routine ist nur, einzig und alleine für die "CheckBox1" zuständig. Fangen wir also mal mit dieser an...
    ersetze mal die Zeile
    Code:
    'zeilen ausblenden, wenn "wahr"
    mit der Zeile
    Code:
    worksheets("Tabelle2").rows(1).rowheight=0
    und ersetze die Zeile
    Code:
    'zeilen einblenden, wenn "falsch"
    mit der Zeile
    Code:
    worksheets("Tabelle2").rows(1).rowheight=15
    oder ev. auch mit
    Code:
    worksheets("Tabelle2").rows(1).autofit
    Jetzt kannst Du erstmal den Source-Editor schließen (rechts oben das [X]) und wieder zurück zu Deiner Mappe.

    Wenn Du jetzt die CheckBox anklickst, sollte je nach Status der Box die Zeile 1 auf dem Blatt Tabelle2 ein- oder ausgeblendet werden.

    Wenn das funktioniert, dann kannst Du dich an die nächsten CheckBoxen machen. Es folgt eine etwas stupide Arie...

    Setze eine CheckBox auf das Blatt, rechte Maustaste darauf, dann "Code anzeigen" --> Du landest im Source-Editor zwischen den beiden Zeilen "private .. end", die zum Click-Ereignis der aktuellen CheckBox gehören.

    Füge dort den gleichen Rumpf ein, wie in CheckBox1 schon geschehen. Passe dann allerdings .rows(1) auf .rows(2) an. Und wieder den Source-Editor schließen und die CheckBox ausprobieren.

    Funktioniert die 2. CheckBox? Dann weiter mit der 3. im gleichen Stil. Du hast 24 Stück davon? Naja, nicht unbedingt schön, die Arbeit, aber wenn man es "einfach" halten möchte, vielleicht lieber so. Die 24 Ereignisse zu den 24 CheckBoxen muß man in jedem Fall erzeugen.

    (In einer "schöneren" Version würde in jedem dieser Ereignisse aber nur genau eine Zeile stehen und eine Extra-Routine außerhalb würde diese Arbeit zentral für die jeweils passende CheckBox / Zeile machen.)

    Aber sag erstmal Bescheid, wenn es bis hierhin funktioniert...

    Gruß, Michael
     
  14. enzo Erfahrener User
    Michael, das geht nicht! Jetzt bringt er immer die Fehlermeldung:
    'Laufzeitfehler '9'
    Index außerhalb des gültigen Bereichs'

    Der Code sieht jetzt bei mir nach deiner Aleitung so aus:
    Private Sub CheckBox1_Click()
    If CheckBox1.Value = True Then
    Worksheets("Tabelle1").Rows(14).RowHeight = 0
    Else
    Worksheets("Tabelle1").Rows(14).RowHeight = 15
    End If
    End Sub

    was mache ich falsch??? hast du eine idee?

    Wobei Tabelle2 bei mir Tabelle1 ist und es sich eigentlich um Zeile 14 (und 44,74,104,... bis 344) handelt, die aber alle von der einen Box gesteuert werden sollen. und das mache ich dann 24x.
     
  15. miriki Erfahrener User
    Der Fehler deutet eigentlich auf einen Tippfehler in Blattname oder ähnlichem hin.

    Ich häng Dir mal ein Beispiel an... Der Code funktioniert genau so, wie er soll, ich hab nur wieder auf "Tabelle2" geändert, mehr nicht.

    Gruß, Michael

    Nachtrag: Bist Du dir mit "Tabelle1" absolut ganz und gar völlig total sicher? ;-) Oder ist da vielleicht ein Leerzeichen vor der 1, oder eines am Anfang oder Ende, was man so nicht mehr sieht? Das ist immer wieder eine fiese Falle...
     
Thema:

komplette Zeile ausblenden, wenn Tabelle1!a1=wahr

Die Seite wird geladen...
  1. komplette Zeile ausblenden, wenn Tabelle1!a1=wahr - Similar Threads - komplette Zeile ausblenden

  2. Word 2016: Wie "Neu" Templates (Zeile) komplett von Startseite entfernen?

    in Microsoft Word Hilfe
    Word 2016: Wie "Neu" Templates (Zeile) komplett von Startseite entfernen?: Wenn ich Word 2016 aufrufen, dann wird auf der Startseite oben eine komplette Zeile mit möglichen Templates eingeblendet. Also z.B. "Leeres Dokument", "Willkommen bei Word", "Einfacher...
  3. komplette Zeile löschen, die einen bestimmten Wort NICHT beinhaltet?

    in Microsoft Word Hilfe
    komplette Zeile löschen, die einen bestimmten Wort NICHT beinhaltet?: Hallo, ich suche eine möglichkeit, mit einem Makro in Word Zeilen zu löschen, die einen bestimmten Wort NICHT beinhalten. z.b LöscheZeile, wenn Zeileninhalt NICHT "Telefonnummer" oder "E-mail"...
  4. Wiedergeben einer kompletten Zeile in der ein Suchkriterium zutrifft

    in Microsoft Excel Hilfe
    Wiedergeben einer kompletten Zeile in der ein Suchkriterium zutrifft: Hallo, ich möchte gerne meine Excel Datei folgendermaßen formatieren: Wenn ich eine entsprechende Kostenstelle innerhalb eines Arbeitsblattes angebe, soll Excel aus einem anderen Arbeitsblatt...
  5. Wenn bestimmter Wert dann komplette Zeile kopieren

    in Microsoft Excel Hilfe
    Wenn bestimmter Wert dann komplette Zeile kopieren: Hallo zusammen, ich habe ein Problem für das ich hier noch keine Lösung gefunden habe. Ich habe eine Exceldatei mit drei Tabellenblättern. Master - Tabelle 1 - Tabelle 2 Tab. 1und2 sollen im...
  6. Bei Wert in bestimmtem Bereich der Zeile komplette Zeile in neues Datenblatt kopieren

    in Microsoft Excel Hilfe
    Bei Wert in bestimmtem Bereich der Zeile komplette Zeile in neues Datenblatt kopieren: Guten Morgen, ich habe zwar schon verschiedene Threads gefunden, aber irgendwie keine passende Lösung für mich. Anbei eine Beispieltabelle ("Vorlage"), wie unsere Liste so in etwa aufgebaut...
  7. VBA Komplette Zeilen löschen mit Autofilter mit Makro

    in Microsoft Excel Hilfe
    VBA Komplette Zeilen löschen mit Autofilter mit Makro: Hallo, ich möchte einen Autofilter in der ersten Zeile anweden, dann in der 12 Spalte nach "B" filtern und anschließend die gefundenen Zeilen entfernen. Bei meinem Versuch löscht mir der Code...
  8. Outlook 2007 Kalender Betreff zeile komplett anzeigen lassen

    in Microsoft Outlook Hilfe
    Outlook 2007 Kalender Betreff zeile komplett anzeigen lassen: Hallo, habe beim Outlook 2007 das Problem das der Text/Kalendereintrag im Monatskalenderansicht nicht komplett angezeigt wird und auch nicht komplett gedruckt wird. Beim Outlook XP hatte ich...
  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