Office: (Office 2010) VBA = Text ein- und ausblenden per Kontrollkästchen

Helfe beim Thema VBA = Text ein- und ausblenden per Kontrollkästchen in Microsoft Word Hilfe um das Problem gemeinsam zu lösen; Hi, ich arbeite mit Word2002. Daher die Frage in die Runde: Was spricht gegen eine Lösung mit WENN-Feldern? In etwa so: - Die Checkbox ruft ein Makro... Dieses Thema im Forum "Microsoft Word Hilfe" wurde erstellt von audioclub, 23. Januar 2013.

  1. VBA = Text ein- und ausblenden per Kontrollkästchen


    Hi,

    ich arbeite mit Word2002. Daher die Frage in die Runde: Was spricht gegen eine Lösung mit WENN-Feldern? In etwa so:

    - Die Checkbox ruft ein Makro auf, das je nach Zustand
    .... einer Textmarke (nennen wir sie ShowHelp) einen Wert (z.B. 1 für anzeigen, 0 für ausblenden) zuweist
    .... alle Felder des Dokuments aktualisiert

    - der Hilfetext steht in einem Word-Feld:
    {If ShowHelp = 1 "Hilfetext" ""}

    HTH.

    Markus
     
    MarkMH_K, 21. August 2015
    #31
  2. was für ein Feld meinst du?
     
    Zuletzt von einem Moderator bearbeitet: 19. Januar 2021
    Pep_Peroni, 23. August 2015
    #32
  3. finde ich richtig gut - ist viel dezenter, als Hilfetext im Body mit unterzubringen. Habe ich aber nicht allein zu entscheiden, ob man diese Alternative nutzt.

    Zu der Varainate mit Inhaltssteuerelementen - wie sollen die Elemente verschwinden?
     
    Zuletzt von einem Moderator bearbeitet: 19. Januar 2021
    Pep_Peroni, 23. August 2015
    #33
  4. VBA = Text ein- und ausblenden per Kontrollkästchen

    Hi,

    einfach reinschreiben ...

    Gruß
    TT
     
    TomTom2010, 23. August 2015
    #34
  5. Hallo Gerhard,

    ich stehe auch vor der Aufgabe, Text durch eine Checkbox ein- und auszublenden.
    Bereits dein erstes Beispiel war sehr hilfreich. Ich habe nur ein Problem: Bei dem Lösungsansatz mit Autotext und Textmarke wird der Text in der Textmarke beim deaktivieren der Checkbox gelöscht und beim aktivieren der Checkbox wird der frische Autotext wieder eingefügt.
    Was ist nun aber, wenn ich den auszublendenden Text schon bearbeitet habe (Eingabe, etc.)? Dieser Text geht nach dem Aktivieren verloren.
    Ist es möglich den aktuellen Inhalt der Textmarke vor dem Löschen mittels Code in einen Autotext zu schreiben? Also den Autotext durch den neuen Text zu überschreiben? Danke.
     
    Folds, 19. Mai 2016
    #35
  6. Gerhard H
    Gerhard H Erfahrener User
    Hallo Folds,

    die Lösung mit dem Autotext macht natürlich dann am meisten Sinn, wenn dieser Text unverändert bleibt. Du kannst aber auch dafür sorgen, dass beim Einblenden als Erstes der (geänderte) Autotext neu in die Dokumentvorlage übertragen wird und dann erst eingefügt.

    Das Makro (am Beispiel der Checkbox1 aus der Dokumentvorlage aus Beitrag 2) muss dann so aussehen (Ergänzungen in Rot):
    Code:
    Wichtig dabei ist, dass zum Ausblenden des Autotextes die zugehörige Textmarke mit genau 1 Leerzeichen gefüllt wird (blaue Zeile), sonst funktioniert es nicht.

    Die Ergänzung musst du natürlich in jeder Checkbox vornehmen.
     
    Gerhard H, 19. Mai 2016
    #36
  7. Hallo Gerhard,

    perfekt. klappt prima, vielen Dank *Smilie
     
    Folds, 26. Mai 2016
    #37
  8. VBA = Text ein- und ausblenden per Kontrollkästchen

    Hey Leute,

    ich bräuchte bitte hier nochmal Hilfe.

    Bei Schritt 2, sehe ich (trotz eingeblendeter Textmarken in den Optionen) die von mir erstellten Textmarken nicht. (wobei glaube das könnte noch mein kleineres Problem sein)

    Viel doofer ist irgendwie, dass ich nicht weiß, wo ich die Makros reinschreiben soll.

    Folgendes:

    Ich erstelle ein "Kontrollkästchen" und das ist bei mir immer nur so ein Kästchen welches ich "ankreuzen" kann. Wie kann ich das Makro/die Funktion mit dem Kontrollkästchen verbinden? Bzw. welches Kontrollkästchen muss ich verwenden, damit ich für dieses das Makro hinterlegen kann.

    Hoffes es ist halbwegs verständlich wo das Problem liegt, ansonsten versuche ich es erneut zu erklären... ;-)

    Ich verwende Word 2016.

    Liebe Grüße

    Wolfgang
     
    Zuletzt von einem Moderator bearbeitet: 19. Januar 2021
    wolfgang.kleinhaentz, 26. Mai 2016
    #38
  9. Gerhard H
    Gerhard H Erfahrener User
    Hallo Wolfgang,

    "Wie kann ich das Makro/die Funktion mit dem Kontrollkästchen verbinden?"
    Das hängt von der Sorte Kontrollkästchen ab, die du verwenden willst. Im von dir zitierten Beispiel sind das Active-X-Checkboxen. Zu jeder Checkbox gehört ein Checkbox_Click-Makro. Das Gerüst dazu erzeugst du, indem du in die Entwurfsansicht schaltest, die Checkbox rechtsklickst und den Code in das geöffnete Codefenster reinkopierst.

    Falls du weitere Hilfe brauchst, stell uns ein Musterdokument zur Verfügung. Dann kann man vielleicht auch das Geheimnis mit den Textmarken klären.
     
    Gerhard H, 26. Mai 2016
    #39
  10. Hallo Gerhard,

    erstmal vielen Dank für deine schnelle Hilfe, sie hat mir sehr geholfen. (hatte das falsche Kontrollkästchen benutzt)

    Jetzt habe ich es geschafft einen Text ein/ausblenden zu lassen. Da es für mich auch wichtig ist, dass der Text veränderbar ist, habe ich den Teil der die Textmarke überschreibt und neu abspeichert ebenfalls mit reingenommen und das funktioniert auch soweit ganz gut.

    Ich habe es in der Test Datei, jedoch nur mit "normalen" Text geschafft. Für mich ist es aber wichtig, dass sich auch Tabellen einblenden lassen, diese mit Text zubefüllen und ggf. anschließend wieder ausblenden zulassen. Bei der Tabelle in der Testdatei habe ich es jedoch leider nicht hinbekommen. Hierbei kommt eine Fehlermeldung, dass der Text "nicht gelöscht werden kann".

    Vielleicht kurz zum Hintergrund und Ziel meiner Datei. (Vielleicht gibt es ja noch eine viel bessere Lösung also diese mit den Kontrollkästchen)

    Bei meiner Datei handelt es sich um einen Tagesbericht, der von unterschiedlichen Mitarbeitern jeden Tag ausgefüllt wird. Dieser Bericht ist ca. 16 Seiten lang und enthält unterschiedliche Tabellen zu unterschiedlichen Themen, welche von den Mitarbeitern ausgefüllt werden sollen. Manche davon braucht man jedoch nicht jeden Tag, sondern nur 1x pro Woche oder manchmal sogar nur bei bestimmten Vorfällen.

    Bisher waren dies alles einzelne Dateien, jedoch wollten wir diese in einer Datei zusammenfassen um besser den Überblick zu behalten.

    Meine Idee war es jetzt, dass man sich jeden Tag nur die Tabellen einblenden lässt die man auch braucht, jedoch soll der Text in den Tabellen bestehen bleiben, falls man es aus Übersichtsgründen mal kurzzeitig ausblenden möchte.

    Da die Tabellen (von der Grundstruktur her) nicht verändert werden sollen, werden diese ebenfalls nur dort mit Textfeldern ausgestattet, wo die Mitarbeiter ausfüllen dürfen. Außerdem wird es einpaar Dropdown Menüs geben. (Hoffe das ist kein Problem)

    Des weiteren würde ich mir noch zwei Makro Button pro Tabelle wünschen, welche die dazugehörige Tabelle 1. ausdruckt, 2. als pdf speichert, da manche Tabellen ausgedruckt und manche als pdf verschickt werden müssen.

    Siehst du eine Chance, dass sich das alles umsetzen lässt oder kann ich es gleich vergessen? ;-)

    Für jede Hilfe bin ich dankbar.

    Liebe Grüße

    Wolfgang

    Edit: Der Button den ich bisher gebaut habe funktioniert irgendwie unter Office Mac nicht wie in der Windows Version. Ist zwar nebensächlich, aber vielleicht hat ja doch wer ne Idee warum nicht) :-(
     
    wolfgang.kleinhaentz, 27. Mai 2016
    #40
  11. Gerhard H
    Gerhard H Erfahrener User
    Hallo Wolfgang,

    ich kann mit deinem Musterdokument aus mehreren Gründen nichts anfangen:

    zu den Autotexten:
    Sie werden nie in einem normalen Dokument (*.docx oder *.docm) gespeichert, sondern immer nur in der damit verbundenen Dokumentvorlage (dotx oder dotm). Wenn du das Makro in ein normales *.docm einbaust, sind die Autotexte bei dir zuhaus in deiner Normal.dotm gespeichert und ich hab sie hier nicht zum Testen zur Verfügung.
    Speichere also am Besten dein Musterdokument als Dokumentvorlage, erstell die Autotexte in dieser Vorlage und lade die zum Testen hoch.

    zur Tabelle:
    Du wolltest dort Felder einbauen; ich seh keine. Welche hast du denn genommen?
    Ich seh auch keinen Versuch, die Tabelle per Makro ein- und auszublenden. Den solltest du herzeigen.
    Die Fehlermeldungen kenne ich in der Form nicht. Bitte immer im kompletten Wortlaut zitieren.
    Aber ich hab eine Vermutung: Da die Struktur der Tabelle nicht geändert werden soll, setzt du (Formular?)-Steuerelemente ein und schützt das Dokument. Wenn das zutrifft, musst du zu Beginn des Makros den Schutz temporär aufheben und am Ende wieder setzen. Das sieht dann so aus:
    Code:
    Ich schlag vor, du probierst das mal, falls zutreffend, und lädst auf jeden Fall eine Mustervorlage mit den bisher gespeicherten Autotexten hoch. Vielleicht auch mit ein bisschen mehr "Fleisch", damit man sich ein Bild von der Struktur des Dokuments machen kann. Deinen bisherigen Makro-Versuche sollten natürlich auch enthalten sein. Dann lässt sich diese Frage auch gleich viel besser einschätzen:
    Siehst du eine Chance, dass sich das alles umsetzen lässt oder kann ich es gleich vergessen? ;-)

    Zum Schluss noch was zum Mac:
    VBA auf dem Mac unterscheidet sich z.T. erheblich von dem unter Windows. Das kannst du nie 1:1 umsetzen. Da ich aber keinen Mac habe, kann ich dir in dieser speziellen Angelegenheit auf keinen Fall weiterhelfen.
     
    Gerhard H, 27. Mai 2016
    #41
  12. huhu,

    habe jetzt eine Tabelle genommen so wie sie im Enddokument auch aussehen wird. Die Textfelder habe ich ebenfalls gesetzt. Gesperrt ist es noch nicht, daher habe ich die "Entsperrung" noch weggelassen.

    Jedoch funktioniert es leider auch in diesem Fall nicht.

    Habe die Textmarke als "tabelle1" in der Vorlage abgespeichert, somit solltest du sie sehen können.

    Wenn ich dann das Kästchen anklicke, verschwindet die Tabelle, wenn ich es dann wieder anklicke, sagt er, dass "tabelle1" nicht existiert.

    Wenn man das Dokument "normal" öffnet (also als neues Dokument) dann macht er die Tabelle auch weg, jedoch schreibt er beim erneuten anklicken den Text der in der Tabelle war etwas komisch da hin, jedoch ohne Tabelle rundherum. :-(

    Hoffe die Beispieldatei gibt mehr Klarheit darüber was ich fabriziert habe... ;-)

    Edit: Zum Thema Gesamtstruktur: Eigentlich ist es immer so eine Art Tabelle (manchmal über 2-7 Seiten), welche untereinander stehen. Mehr ist es eigentlich nicht. Hoffe das hilft.

    liebe Grüße
     
    wolfgang.kleinhaentz, 27. Mai 2016
    #42
  13. Gerhard H
    Gerhard H Erfahrener User

    VBA = Text ein- und ausblenden per Kontrollkästchen

    Hallo Wolfgang,

    "Wenn ich dann das Kästchen anklicke, verschwindet die Tabelle, wenn ich es dann wieder anklicke, sagt er, dass "tabelle1" nicht existiert."

    Das liegt daran, dass beim Restaurieren der Textmarke versehentlich der falschen Textmarkenname notiert ist: Statt .Bookmarks.Add Name:="text1",... muss es natürlich heißen: .Bookmarks.Add Name:="tabelle1". Und das sowohl im If-Teil, als auch im Else-Teil.

    Dass die Tabelle unformatiert wieder auftaucht liegt an der falschen Einfügemethode des Autotextes. Die derzeit verwendete Methode taugt nur für unformatierten Text. Ich hab sie ausgetauscht und bei der Gelegenheit noch ein paar weitere Unzulänglichkeiten im Makro ausgemerzt, die von mir stammen. Im Anhang das renovierte Dokument. Jetzt müsste es klappen (ohne Berücksichtigung des Dokumentschutzes).

    Aber bei der Gelegenheit noch eine grundsätzliche Erwägung:
    Wenn du sehr viele Tabellen und Texte zum Auswählen hast, wird die Geschichte in der derzeitigen Form schnell unübersichtlich.
    Bisher hattet ihr lauter Einzeldokumente, schreibst du. Ich könnte mir vorstellen, dass das eine unkompliziertere Variante ist, die jeweils benötigten Einzeldokumente per Makro in ein anfänglich leeres Gesamtdokument einfügen zu lassen.
    Die Auswahl der jeweils benötigten Einzeldokumente könnte man in einer Userform anbieten, die bei Dokumentstart erscheint. Sie würden dann gemäß der gewählten Reihenfolge untereinander ins Gesamtdokument eingefügt. Ohne das Zieldokument genauer zu kennen, ist das allerdings nur eine Spekulation.
     
    Gerhard H, 27. Mai 2016
    #43
  14. Ich schlag vor, du probierst das mal, falls zutreffend, und lädst auf jeden Fall eine Mustervorlage mit den bisher gespeicherten Autotexten hoch. Vielleicht auch mit ein bisschen mehr "Fleisch", damit man sich ein Bild von der Struktur des Dokuments machen kann. Deinen bisherigen Makro-Versuche sollten natürlich auch enthalten sein. Dann lässt sich diese Frage auch gleich viel besser einschätzen:
    Siehst du eine Chance, dass sich das alles umsetzen lässt oder kann ich es gleich vergessen? ;-)

    Zum Schluss noch was zum Mac:
    VBA auf dem Mac unterscheidet sich z.T. erheblich von dem unter Windows. Das kannst du nie 1:1 umsetzen. Da ich aber keinen Mac habe, kann ich dir in dieser speziellen Angelegenheit auf keinen Fall weiterhelfen.

    Hey Gerhard,

    vielen Dank nochmal für deine professionelle Hilfe.

    Ich habe es tatsächlich geschafft die Tabellen ein und ausblenden zu lassen. Ich habe irgendwie festgestellt, dass die Textmarke wohl um min. 1 Zeile nach oben/unten größer sein muss als der Autotext. Das war mir bisher nicht klar... ;-)

    Jetzt klappt aber alles ganz gut.

    Einziges Problem ist noch mit dem Schutz. Ich hatte es wie in dem Zitat oben eingesetzt und der Anfang funktioniert korrekt.

    Ich schütze das Dokument manuell. Sobald ich jedoch das erste mal auf das Kontrollkästchen drücke nimmt er den Schutz raus und setzt ihn leider nicht wieder neu.

    Hättest du da noch ne Lösung für oder habe ich wieder mal was falsch gemacht?

    Passwort der Testdatei ist: 12345

    Liebe Grüße

    Wolfgang
     
    Zuletzt von einem Moderator bearbeitet: 19. Januar 2021
    wolfgang.kleinhaentz, 29. Mai 2016
    #44
  15. Gerhard H
    Gerhard H Erfahrener User
    Hallo Wolfgang,

    die Zeilen zum Wieder-Setzen des Schutzes gehören über Exit Sub.

    Erklärung:
    Exit Sub bedeutet ja: Raus aus der Subroutine, auch wenn sie noch nicht völlig abgearbeitet ist. Der Sinn davon ist, zu verhindern, dass die darunter stehende Fehlerbehandlung jedes Mal abgearbeitet wird, auch wenn gar kein Fehler passiert ist. Nur im Falle eines Fehlers ( On Error Goto fehler) springt das Makro über das Exit Sub hinaus und macht dort weiter. Also wird dein Dokument nur im Falle eines Fehlers wieder geschützt, was ja ziemlich sinnfrei wäre.
     
    Gerhard H, 29. Mai 2016
    #45
Thema:

VBA = Text ein- und ausblenden per Kontrollkästchen

Die Seite wird geladen...
  1. VBA = Text ein- und ausblenden per Kontrollkästchen - Similar Threads - VBA Text ausblenden

  2. Per VBA Zeilen einfügen und danach in diese Texte kopieren

    in Microsoft Excel Hilfe
    Per VBA Zeilen einfügen und danach in diese Texte kopieren: Hallo zusammen, ich möchte im 1. Schritt via VBA-Code eine bestimmte, variable Anzahl Zeilen (der Wert wird immer im Reiter "Data" in der Zelle S32 ermittelt) in einem anderen Reiter namens...
  3. Textteile aus Zelle mit mehreren Absätzen

    in Microsoft Excel Hilfe
    Textteile aus Zelle mit mehreren Absätzen: Hallo, ich habe folgendes Problem: Ich habe in einer Liste in einer Zelle mehrere Angaben aus denen ich Textteile (z.B. alles was in () oder {} ist) herausziehen will, um damit weiter zurechnen....
  4. Pluszeichen bei pos. Werten mit benutzerdef. Formaten in markiertem Bereich voranstellen

    in Microsoft Excel Hilfe
    Pluszeichen bei pos. Werten mit benutzerdef. Formaten in markiertem Bereich voranstellen: Hallo zusammen, ich habe folgendes Problem: Ich möchte in hunderten Tabellen bzw. tausenden Zellen positiven Werten ein "+"-Zeichen voranstellen (also z.B. "+0,4" statt "0,4") und würde das...
  5. Makro/VBA Text in Zahl umwandeln

    in Microsoft Excel Hilfe
    Makro/VBA Text in Zahl umwandeln: Hallo liebes Forum, ich habe eine Frage und bin bisher leider nicht so wirklich fündig geworden :oops: Aber ich bin mir sicher, dass ich hier Hilfe bekomme *;)* In meiner Arbeitsdatei sind...
  6. Zeile bei Bedingung in anderen Reiter kopieren

    in Microsoft Excel Hilfe
    Zeile bei Bedingung in anderen Reiter kopieren: Hallo zusammen, ich habe eine Excel Tabelle mit verschiedenen To Dos für mich. Jedes Mal, wenn ich eine Zeile in Spalte G als "done" markiere möchte ich, dass die komplette Zeile in einen anderen...
  7. verschiedenen Text in einer Zelle mit VBA darstellen

    in Microsoft Excel Hilfe
    verschiedenen Text in einer Zelle mit VBA darstellen: Hallo zusammen, ich bin blutiger VBA Anfänger und verzweifele gerade an folgender Problematik. Über eine UserForm möchte ich auswählen welchem Geschlecht die Mitarbeiter angehören. Ich habe also...
  8. TXT-Import brauchbar machen

    in Microsoft Excel Hilfe
    TXT-Import brauchbar machen: Hallo zusammen, mein Problem sieht wie folgt aus. In regelmäßigen Abständen erhalte ich Daten als txt, die in Excel importiert werden müssen. Das importierte Format kann nur mit sehr viel...
  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