1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Kontrollkästchen Word 2003

Discussion in 'Office-Programme' started by Phip555, Nov 8, 2007.

Thread Status:
Not open for further replies.
  1. Phip555

    Phip555 Byte

    Hallo,
    ich habe mal wieder eine Frage.
    In meinem Formular, welches ich mit Word 2003 erstellt habe, habe ich mehrere Unterpunkte bei denen man Kontrollkästchen aktivieren kann. Ich würde nur gerne, dass man maximal 3 Kästchen (von insgesamt 9) anklicken kann.
    Außerdem hätte ich gerne, das man bei einer ja / nein ankreuzung nur jeweils ja, oder nein ankreuzen kann und nicht etwa beide. Noch schöner wäre es, wenn man hier nichts ankruzt, das dann eine Meldung kommen würde das man doch bitte eins anklicken sollte.
    Ist soetwas möglich?
    Für Hilfe wäre ich sehr dankbar, wenn es überhaupt machbar ist.
    Vielen Dank.
    Gruß,
    Phip
     
  2. Urs2

    Urs2 Megabyte

    - nur 3 von insgesamt 9 anklickbar... das verstehe ich nicht. Welche Kriterien? Ja oder Nein - und was noch?

    - Mit VBA ist fast alles möglich, ob es auch immer sinnvoll ist...

    - Warum 2 Kästchen für Ja und Nein? Reicht eines nicht? >>> Wenn angekreuzt, dann Ja, sonst Nein.

    - Wenn es wirklich beide braucht und eine Auswahl zwingend ist, dann wären Optionsfelder vielleicht besser als Kontrollkästchen.

    - Mit einem oder zwei Kästchen, oder mit Optionsfeldern, kann man eine Eingabe auf Default stellen, dann ist immer etwas eingetragen. Ginge das?

    Gruss Urs
     
  3. Phip555

    Phip555 Byte

    Also nochmal, ich glaube ich habe mich schlecht ausgedrückt:
    Ich habe eine Liste, bzw. mehrere, die jeweils 9 Ausprägungen haben. Hiervon sollen allerdings nur max 3 angekreuzt werden können, obwohl ich 9 Kontrollkästchen angelegt habe.
    Das andere Problem ist, es manchmal bei Fragen, wie zB "Haben Sie Kinder?" nur ja oder nein angeklickt werden soll. Dieses aber zwingend.
    Hier hätte ich gerne zusätzlich einen Text, falls man nichts ankruzt.
    Mit Optionsfeldern kann ich persönlich nichts anfangen, da ich nicht weiss was das ist. Vielleicht wären die besser. Ich habe bisher das gesamte Formular mit Dropdown-Feldern, oder Kontrollkästchen erstellt.
    Hier ein Bsp:
    1. INFRASTRUKTUR



    Infrastruktur: Wasser / Abwassertechnik
    0 Dämme / hydraulische Strukturen
    0 Be- und Entwässerung / Land Sanierungssysteme
    0 Fluss Kontrolle
    0 Hafentechnik
    0 Wasserversorgung / Hygiene (inkl. Studien)
    0 Wasserpumpen
    0 Hygiene / Kanalisation
    0 Abfall
    0 Sonstiges (bitte spezifizieren) ...................
     
  4. brum

    brum Kbyte

    Wie Urs sagt: Mittels Makro (VBA) kannst Du das machen... Den Kontrollkästchen jeweils bei "Ereignis" oder "Beenden" ein Makro zuweisen.

    Gruss
    Bruno
     
  5. Phip555

    Phip555 Byte

    OK, ich seh schon. Das ist zu hoch für mich, da ich mit VBA nichts anfangen kann. Habe es bisher, wenn überhaupt, nur geschaft mal einen vorgefertigten Code einzufügen. Dann muss ich mir wohl was anderes einfallen lassen, oder jemanden hier vor Ort fragen der mir das macht...
    trotzdem danke
     
  6. brum

    brum Kbyte

    Hier ein kurzer Ansatz, welche Befehle Du benötigst:

    Code:
    If ActiveDocument.FormFields("KK1").CheckBox.Value = True Then
    So kannst Du überprüfen, ob das Kontrollkästchen "KK1" angekreuzt ist.

    Code:
    ActiveDocument.FormFields("KK1").CheckBox.Value = True
    ActiveDocument.FormFields("KK1").CheckBox.Value = False
    So kannst Du den Status des Kontrollkästchen ändern (Häckchen/kein Häckchen).

    Gruss
    Bruno
     
  7. Urs2

    Urs2 Megabyte

    ...schwierig ist es gar nicht, aber so auf die Schnelle lernt man es natürlich auch nicht. Man muss schon ein paar selbstgemachte Fehler mühsam gesucht haben, um es richtig begreifen zu können...
    Wenn Du öfters solche Formulare erstellen musst, würde sich die Mühe aber schon einmal lohnen...

    So gehe ich aber auch davon aus, dass die angekreuzten Kästchen in Deinem Formular nichts weiter bewirken müssen. Das Formular wird als Vorlage-Datei gespeichert, als Datei/Neu geöffnet, ausgefüllt und dann gedruckt oder versandt. Richtig?

    Dann könnten aber die Optionsfelder ein Problem lösen >>>

    Ich denke Du nimmst die Symbolleiste "Formular", dort ginge es auch, aber die Felder könnten dann nur innerhalb von Gruppenfeld-Rahmen zusammenarbeiten.

    Aktivier die Symbolleiste "Steuerelement-Toolbox". Dort ist "der Kreis mit dem Punkt drin", das Optionsfeld.
    Wenn Du zwei oder viele davon auf Deinem Blatt verstreust, kannst Du immer nur eines davon aktivieren - Mehrfachnennung ist unmöglich.

    Um die Optionsfelder bearbeiten zu können, muss in der Toolbox-Symbolleiste zuoberst links das Feld "Entwurfsmodus" ein- oder ausgeschaltet werden.
    Tipp > formatier ein Optionsfeld (Rechtsclick > Formatieren) und replizier es dann mit drag/drop soviel mal wie nötig, auch mehrere zusammen, wegen der Ausrichtung >> geht schneller... und wird schöner...

    Jetzt kannst Du die Optionsfelder zu Gruppen zusammenfassen, wo dann nur aus dieser Gruppe eine Auswahl möglich sein wird >>

    - Im Entwurfsmodus Rechtsklick auf das Optionsfeld und "Eigenschaften" wählen.
    - In der Zeile GroupName steht rechts Tabelle1 > für alle in der ersten Gruppe das so lassen
    - Für die zweite Gruppe dort Name auf Tabelle2 ändern
    - usw für Gruppen 3, 4, 5...

    Damit eine Null-Auswahl nicht möglich wird, muss in der Vorlage in allen Gruppen eine Default-Auswahl angekreuzt sein.

    Wenn Du mit diesen Möglichkeiten spielst wirst Du vielleicht eine Darstellung finden, die Deine Bedingungen erfüllt.

    Gruss Urs
     
  8. Phip555

    Phip555 Byte

    Vielen Dank schonmal. Hat mir weiter geholfen. Allerdings habe ich noch eine Frage bezüglich den Optionsfeldern.
    Und zwar, ist es auch möglich, wenn ich mehrere Optionsfelder zu einer Gruppe zusammengefügt habe, mehr als eine Auswahl zu treffen. Ich bräuchte nämlich zB, dass mann maximal 3 von 9 Feldern anklicken kann und nicht nur eins...
    Außerdem wäre es wichtig, das wenn jemand das Formular ausdrucken will und als Hardcopy ausfüllt, das dann in den Optionsfeldern keine Auswahl getroffen ist. Zur Zeit ist entweder ja oder nein immer aktiv. Wie ändere ich das, das am Anfang kein Kästchen aktiv ist?
    Gruß, Phip
     
  9. brum

    brum Kbyte

    Jetzt muss ich noch etwas klar stellen: Meine vorgeschlagene Lösung bezieht sich auf die Kontrollkästchen aus der Formular-Symbolleiste.

    Urs schlägt hier aber die Optionsfelder vor. Bei Optionsfelder kannst Du innerhalb einer Gruppe jeweils nur eine Auswahl treffen. Diese sind nicht über die Formular-Symbolleiste machbar. Es gibt aber die Symbolleiste "Steuerelement-Toolbox". Da hast Du beide Möglichkeiten.

    Dadurch ändert sich aber auch der VBA-Code den Du brauchst.

    Code:
    ActiveDocument.OptionButton1.Value = True
    ActiveDocument.CheckBox1.Value = True
    
    Wobei OptionsButton1 und CheckBox1 jeweils der Name der Kästchen ist... Wenn Du am Anfang keine aktiven Kästchen haben willst, musst Du die beim Starten auf False setzten.

    Gruss
    Bruno
     
  10. Phip555

    Phip555 Byte

    Jetzt mal eine ganz dumme Frage (bin wirklich noch Anfänger)
    Wo und wie trage ich den Code ein?
    Das ist alles was bei mir steht. Wo füge ich das dann ein?:
    Private Sub OptionButton1_Click()

    End Sub

    Private Sub OptionButton11_Click()

    End Sub

    Private Sub OptionButton13_Click()

    End Sub

    Private Sub OptionButton211_Click()

    End Sub

    Private Sub OptionButton25_Click()

    End Sub

    Private Sub OptionButton26_Click()

    End Sub

    Private Sub OptionButton26121_Click()

    End Sub

    Private Sub OptionButton266_Click()

    End Sub

    Private Sub OptionButton27_Click()

    End Sub

    Private Sub DeinRahmen_DblClick(Cancel As Integer)
    Me!DeinRahmen = Null
    End Sub
     
  11. Phip555

    Phip555 Byte

    Des Weiteren, ist es nicht möglich in einer Gruppe die Anzahl von "Kreuzen" festzulegen? Ich brauche zwingend, das man max 3 aus 9 anklicken kann?!!
     
  12. Urs2

    Urs2 Megabyte

    Das dürfte nur mit VBA möglich sein. Man muss die angekreuzten Boxen zählen und beim Ankreuzen immer prüfen, wieviele schon aktiv sind. Wenn die vierte aktiviert wird, muss dann eine Meldung "Nur 3 Boxen ankreuzen" kommen.

    Die Hardcopy ohne Default-Eingaben ausdrucken geht über einen neuen Button "Formular leer ausdrucken", der die Defaultwerte zuerst zurücksetzen muss. Nur, wer verhindert dann dort das falsche Ausfüllen?

    Das ist alles machbar, aber mir scheint, der Aufwand werde etwas gross...
    Vielleicht das Layout der Tabelle überdenken...

    Ich bin etwas verwirrt >

    - Du hast jetzt den dritten Thread zur gleichen Tabelle eröffnet! Was Du schon hast und kannst ist so nicht mehr vernünftig eruierbar...

    - Ist Dein Formular nun ein Excel-Arbeitsblatt oder ein Form aus dem VB-Editor? Ich bin mir nicht mehr so sicher...

    Gruss Urs
     
Thread Status:
Not open for further replies.

Share This Page