Checkboxen Tastenereignis in VBA

Hi Zusammen,

ich habe ein Dokument erstellt, dass aus diversen Tabellen etc besteht.
Ich möchte in einigen Spalten Kontrollkästchen einfügen.
Wenn ich jetzt den Schreibschutz nicht aktiviere, kann ich die Kästchen per Mausklick sowohl aktivieren als auch deaktivieren. Wenn ich den Schreibschutz anstelle und auf Formularbearbeitung beschränke, dann kann ich mich bequem und schnell per Tab und F11 durch das Dokument bewegen und die Kästen mit der Leertaste bearbeiten.
Wenn ich das aber versuche, solange der Schutz nicht angestellt ist, bleibt der Cursor leider immer in dem ersten Kästchen hängen und ich muss mit der Maus erst irgendwo anders hinklicken, damit ich weiter mit der Tastatur navigieren kann.
Aber ich möchte mir vorbehalten, den Text abzuändern, trotz Kontrollkästchen.
Warum kann man nicht ohne Schreibschutz mit Tab oder F11 von Kästchen zu Kästchen springen?
Oder muss man da etwas besonderes beachten?
Kann man in VBA nicht programmieren, dass die Checkbox bei einem bestimmten Ereignis verlassen werden soll? Sprich bei einer bestimmten Tastenkombi oder bei Tab oä?

Warum kann man nicht ohne Schreibschutz mit Tab oder F11 von
Kästchen zu Kästchen springen?
Oder muss man da etwas besonderes beachten?
Kann man in VBA nicht programmieren, dass die Checkbox bei
einem bestimmten Ereignis verlassen werden soll? Sprich bei
einer bestimmten Tastenkombi oder bei Tab oä?

Hallo Q,

Tab würde ich nicht nehmen, vielleicht braucht man mal die normale Tab-Funktionalität.
Welche Tastenkombi solls denn sein, oder F11, F12?

Woher stammt das Kontrollkästchen?
Welche Wordversion?

Gruß
Reinhard

Hi,

wow, das ging ja schnell!
Ich nutze Word 2007, es sollte aber auch auf 2003 funktionieren. Bzw, das hat Prio!

F11 hört sich doch gut an :smile:
Das Kontrollkästchen ist ein Word-Makro mit Active-X.

Ich hoffe, das hilft ihnen bzw. es ist möglich?

Viele Grüße

Hallo Q,

Tab würde ich nicht nehmen, vielleicht braucht man mal die
normale Tab-Funktionalität.
Welche Tastenkombi solls denn sein, oder F11, F12?

Woher stammt das Kontrollkästchen?
Welche Wordversion?

Gruß
Reinhard

Hallo Q,

Ich nutze Word 2007, es sollte aber auch auf 2003
funktionieren. Bzw, das hat Prio!

es ist für dich sicherer eine funktionierende Antwort zu erhalten wenn du immer die Word Version angibst.

F11 hört sich doch gut an :smile:

Okay.

Das Kontrollkästchen ist ein Word-Makro mit Active-X.

Sorry, hab die Frage nicht klar genug gestellt, aus welcher Symbolleiste stammt es hätte ich fragen müssen.
Durch ActiveX gehe ich wohl mit Recht von Steuerelementtoolbox Symbolleiste aus.

Ich hoffe, das hilft ihnen bzw. es ist möglich?

Wir sind hier wie in Foren alle üblich beim Du.

Wie viele Checkboxen hast du denn?

Gruß
Reinhard

Hallo,

ja, hab ich wohl vergessen die Version mit anzugeben. :frowning:

Steuerelementtoolbox ist absolut korrekt.

Wir sind hier wie in Foren alle üblich beim Du.

Alles klar :wink:

Wie viele Checkboxen hast du denn?

Es sind einige, ich wage nicht sie zu zählen, aber es werden teilweise bis zu 10 Stück pro Seite verwendet bei knapp 30 Seiten.
Also sollten es zwischen 150 und 250 sein.

Was genau spielt das für eine Rolle, wieviele es sind?

VG
Heiko

Wie viele Checkboxen hast du denn?

Es sind einige, ich wage nicht sie zu zählen, aber es werden
teilweise bis zu 10 Stück pro Seite verwendet bei knapp 30
Seiten.
Also sollten es zwischen 150 und 250 sein.

Was genau spielt das für eine Rolle, wieviele es sind?

Hallo Heiko,

prinzipiell ist das egal.
Es ist nur so, man müßte dann für jede Checkbox eigenen Code schreiben.
Bei 10 ist das egal. Bei 250 baut man ein Klassenmodul mit Ereigniscoe für Checkboxen, dann langt ein Code für alle 250 oder 5000 Checkboxen.

Aber insgeamt ist die Anzahl kein Problem, zur Not erzeugt man den Code für die 250 Checkboxen per Makro.

Ich hänge woanders fest. Mir fehlen in Word-Vba einige Dinge die ich von Excel-Vba her kenne.

Ich kann schon ein makro auf Taste F11 legen.
Das Problem ist, F11 startet das Makro, nun soll ja per Makro zur nächsten Checkbox gehüpft werden.

Dazu muß ja das Makro wissen auf welcher Checkbox es sich gerade befindet, z.B. Checkbox5, dann weiß es, aha ich soll zu Checkbox6 hüpfen.
Wobei da schon wieder ein Problem auftaucht, sind alle deine Checkboxen der Reihenfolge nach im Dokument von oben nach unten eingefügt worden, oder wurde mal da, mal da eine Checkbox eingefügt.
Dann wirds natürlich komplizierter wenn z.B. auf der Seite 7 von oben nach unten Checkbox8, Checkbox32 und Checkbox 2 sind…

Oder aber, es gibt nur 5 Checkboxen, dann hüpft es zu Checkbox1.

Was aber wenn sich der Fokus gar nicht auf einer Checkbox befindet? dann muß das makro ermitteln wo im Blatt es steht und dann die nächsterreichbare Checkbox anhüpfen.

Und an dieser Positionsermittlung, auf welcher Checkbox oder wo im Text, hänge ich grad voll fest.
Ich hoffe ich habe es verständlich beschrieben.

Gruß
Reinhard

Hallo Reinhard,

Ich hänge woanders fest. Mir fehlen in Word-Vba einige Dinge
die ich von Excel-Vba her kenne.

ist das so ein großer Unterschied? Ich hätte jetzt gedacht, die wären da (so gut wie) gleich?

Wobei da schon wieder ein Problem auftaucht, sind alle deine
Checkboxen der Reihenfolge nach im Dokument von oben nach
unten eingefügt worden, oder wurde mal da, mal da eine
Checkbox eingefügt.

Die Boxen werden der Reihe nach eingefügt. Eins nach dem Anderen.
Hier aber eine Frage dazu, wenn ich jetzt eine Box nachtragen muss, sagen wir ich habe 250 Boxen und möchte jetzt nachträglich eine zwischen Box 6 und 7 einfügen. Dann wird die Box 251 und nicht die neue 7 oder? Das heißt, ich müsste das komplette Dokument umgestalten?
Ist es denn möglich die nächste auftauchende Box zu nehmen?

Dann wirds natürlich komplizierter wenn z.B. auf der Seite 7
von oben nach unten Checkbox8, Checkbox32 und Checkbox 2
sind…

Was aber wenn sich der Fokus gar nicht auf einer Checkbox
befindet? dann muß das makro ermitteln wo im Blatt es steht
und dann die nächsterreichbare Checkbox anhüpfen
Und an dieser Positionsermittlung, auf welcher Checkbox oder
wo im Text, hänge ich grad voll fest.

Das klingt arg verzwickt! Jetzt verstehe ich auch, warum MS das nicht per default anbietet! :frowning:

Ich hoffe ich habe es verständlich beschrieben.

Du hast dich unmissverständlich ausgedrückt! :smile:
Habe jetzt endlich mal Durchblick durch das Ganze, zumindest von der Funtkionsweise, warum es nicht funktioniert…

Hast du denn eine Idee, wie man das möglichst angenehm lösen könnte?

VG
Heiko

Hallo Heiko,

Ich hänge woanders fest. Mir fehlen in Word-Vba einige Dinge
die ich von Excel-Vba her kenne.

ist das so ein großer Unterschied? Ich hätte jetzt gedacht,
die wären da (so gut wie) gleich?

sie beruhen beide auf einer kleinen menge von VB-Befehlen, da sind sie gleich.
Dann hat aber jede der ca. 30 VBAs (word, Excel, Access,CorelDraw,Outlook,…) noch viele spezielle Befehle die die anderen VBA Versionen nicht kennen bzw. anders benutzen.

Hier aber eine Frage dazu, wenn ich jetzt eine Box nachtragen
muss, sagen wir ich habe 250 Boxen und möchte jetzt
nachträglich eine zwischen Box 6 und 7 einfügen. Dann wird die
Box 251 und nicht die neue 7 oder? Das heißt, ich müsste das
komplette Dokument umgestalten?

Das weiß ich noch nicht, ggfs. benennen wir sie per Vba um.

Teste mal den folgenden Code.
Alt+F11. Im Editor siehst du links das Projekt deiner datei, drunter steht „ThisDocument“, darauf einen Doppelklick. Jetzt bist du im Modul „ThisDocument“.

Oben Einfügen–Modul, du bist dann automatisch im Modul1.
Zwischen den Modulen wechselst du immer mit Doppelklick. Kopiere jetzt die nachfolgenden Codes in die richtigen Module.
Danach beendest du den Editor und speicherst die Datei und schließt sie, dann neu öffnen.

in "ThisDocument"

Option Explicit
'
Private Sub Document\_Open()
intCB = 1
End Sub
'
Private Sub CheckBox1\_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub
'
Private Sub CheckBox2\_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub
'
Private Sub CheckBox3\_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

in "Modul1"

Option Explicit
'
Public intCB As Integer
'
Sub CBtoCB()
intCB = IIf(intCB = ActiveDocument.InlineShapes.Count, 1, intCB + 1)
ActiveDocument.InlineShapes(intCB).OLEFormat.Object.Select
End Sub

Gruß
REinhard

Hi Reinhard,

Teste mal den folgenden Code.

Ich habe eine Tabelle erstellt und 6 Boxen angelegt, ohne Schreibschutz.
Per F11 bin ich wunderbar bis zur 4ten Box gekommen…

Muss ich den Code jetzt für jede Box kopieren?

Soweit auf jeden Fall schonmal „VIELEN DANK!“

)

VG

Hi Reinhard,

hab ich ganz vergessen, beim Start kam folgende Meldung…

http://www.bilder-hochladen.net/files/1q63-3-jpg.html

Gruß

hab ich ganz vergessen, beim Start kam folgende Meldung…

http://www.bilder-hochladen.net/files/1q63-3-jpg.html

Hallo Q,

welche Wordversion hast du?

Und, sorry, ich kann nicht lesen was in der Msgbox steht. Vergrößern mit Irfanview brachte auch nix, was steht denn drin?

Ich hatte den Code min Word2000 getestet, da kam keine Fehlermeldung.

Wiviele Checkboxen hast du denn, dann kann ich dir was basteln was den Code dafür schreibt.

Gruß
Reinhard

Hallo,

welche Wordversion hast du?

Ich nutze im Mom 2007, auf meinem Privatrechner allerdings 2003.
Es muss auf jeden Fall in 2003 laufen…

Und, sorry, ich kann nicht lesen was in der Msgbox steht.
Vergrößern mit Irfanview brachte auch nix, was steht denn
drin?

CompileError:
User-defined type not defined.
Markiert ist hierbei die Zeile:
Private Sub Checkbox1_KeyDown …

Ich hatte den Code min Word2000 getestet, da kam keine
Fehlermeldung.

Liegt es also an meinen Einstellungen?
Word sollte doch eigentlich abwärtskompatibel sein.

Wiviele Checkboxen hast du denn, dann kann ich dir was basteln
was den Code dafür schreibt.

Wie gesagt, es sind mindestens 100.

VG

Hallo Q,

welche Wordversion hast du?

Ich nutze im Mom 2007, auf meinem Privatrechner allerdings
2003.
Es muss auf jeden Fall in 2003 laufen…

*hmmh*, ich habe drzeit nur 2000 und 2007, irgendein Eibrecher war wohl hier und hat gezielt paar CDs mitgenommen, ich vermisse sehr so ca. Stück.
Alternative zum Eibrecher ist, ich hab hier CD-Chaos und finde die Mistdinger einfach nicht mehr :frowning:(

Jedenfalls kann ich Word 2003 nicht testen.
Die Fehlermeldung deute ich so daß dir evtl. ein Verweis fehlt.
Gehe mal in den VB-Editor, oben Extras–Verweise und nenne mir alle Verweise die da stehen (MS mußte nicht ausschreiben).
Dann vergleiche ich mal mit meinen Verweisen.

Ich hatte den Code min Word2000 getestet, da kam keine
Fehlermeldung.

Liegt es also an meinen Einstellungen?
Word sollte doch eigentlich abwärtskompatibel sein.

*grins*, Betonung liegt auf „sollte“, 100% haben sie das nicht gepackt.

Wiviele Checkboxen hast du denn, dann kann ich dir was basteln
was den Code dafür schreibt.

Wie gesagt, es sind mindestens 100.

Gehe in Modul1, kopiere den nachfolgenden rein, ggfs die 100 bei Anz erhöhen. kannst da locker 150 eintragen, falls du später noch paar CBs einfügen willst.
Dann stell den Curser mitten in den Code und drücke F5, ein neues Dokument wird erstellt, da kannst du dann den Code CBs rauskopieren.

Sub CodeErzeugen()
Dim C As Integer, Z1a As String, Z1b As String, Z2 As String, Z3 As String
Const Anz As Integer = 100
Z1a = "Private Sub CheckBox"
Z1b = "\_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)"
Z2 = "If KeyCode = 122 Then Call CBtoCB"
Z3 = "End Sub"
Documents.Add
For C = 1 To Anz
 Selection.TypeText Text:=Z1a & C & Z1b
 Selection.TypeParagraph
 Selection.TypeText Text:=Z2
 Selection.TypeParagraph
 Selection.TypeText Text:=Z3
 Selection.TypeParagraph
 Selection.TypeParagraph
Next C
End Sub

Übrigens, enthält dein Dokument vertrauliche Daten? wenns wenige sind ersetze sie durch xxxx, dann lade es hoch mit FAQ:2606 o.ä.
Es ist immer besser potentielle Helfer kennen deine exakte Dokumentstruktur um daran Lösungen zu testen.
Am besten halt das Original.

Okay, Datenschutz. Insofern wäre das für dich am schnellsten alle vertraulichen Texte zu löschen.
Das kann aber ggfs. für den Helfer Probleme bereiten. Deshalb ist es m.E. besser du ersetzt die vertraulichen Texte an den Stellen durch in etwa gleichlange Sinnlostexte, wie =Rand() und Enter.

Dauert ein bißchen länger aber ist sicherer.

Gruß
Reinhard

Hi,

Jedenfalls kann ich Word 2003 nicht testen.
Die Fehlermeldung deute ich so daß dir evtl. ein Verweis
fehlt.

Die Meldung bekomme ich auch bei 2007, nicht bei 2003…

Gehe mal in den VB-Editor, oben Extras–Verweise und nenne mir
alle Verweise die da stehen (MS mußte nicht ausschreiben).
Dann vergleiche ich mal mit meinen Verweisen.

Angeklickt sind bei mir:
Visual Basic For Applications
MS Word 12.0 Object Library
OLE Automation
Normal
MS Office 12.0 Object Library

Der Code soll in Modul1?

Was ist denn mit der Definition der 3 Checkboxen (in „This Document“)?
Weil ich immer noch nur zur vierten komme.

Übrigens, enthält dein Dokument vertrauliche Daten? wenns
wenige sind ersetze sie durch xxxx, dann lade es hoch mit
FAQ:2606 o.ä.

Ich habe deinen Code bisher in einem neuen Dokument getestet.
Nicht in dem das ich habe, da ich das komplett überarbeiten muss.

VG

Hallo Q,

Die Meldung bekomme ich auch bei 2007, nicht bei 2003…

sehr gut, 2007 kann ich testen.

Der Code soll in Modul1?

ja.

Was ist denn mit der Definition der 3 Checkboxen (in „This
Document“)?
Weil ich immer noch nur zur vierten komme.

Du kopierst aus dem neu erstellten Dokument den Code in „ThisDocument“ und ersetzt damit die bislang 3 Codes für Checkboxen.

Ich habe deinen Code bisher in einem neuen Dokument getestet.
Nicht in dem das ich habe, da ich das komplett überarbeiten
muss.

Dann lade doch mit rapidshare, FAQ:2606 , dieses neue Dokument wo mein Code nicht klappt hoch.

Gruß
Reinhard

Hallo,

Der Code soll in Modul1?

ja.

ok

Du kopierst aus dem neu erstellten Dokument den Code in
„ThisDocument“ und ersetzt damit die bislang 3 Codes für
Checkboxen.

hmm… iwie kann ich dir leider nicht ganz folgen.
Ich habe den Code für die 3 Boxen ersetzt, aber jetzt klappt es nicht mehr, dafür bekomme ich aber auch keine Fehlermeldung mehr.

Dann lade doch mit rapidshare, FAQ:2606 , dieses neue Dokument
wo mein Code nicht klappt hoch.

Ich lade mal beide Dokumente hoch, hoffentlich findest du die Fehler (sowohl den im Code als auch meinen!)

Hier der Link:
http://rapidshare.com/files/362453583/Doc1und2.rar.html

VG
Heiko

Hallo Q,

Du kopierst aus dem neu erstellten Dokument den Code in
„ThisDocument“ und ersetzt damit die bislang 3 Codes für
Checkboxen.

hmm… iwie kann ich dir leider nicht ganz folgen.
Ich habe den Code für die 3 Boxen ersetzt, aber jetzt klappt
es nicht mehr, dafür bekomme ich aber auch keine Fehlermeldung
mehr.

Lassen wir mal das Nichtklappen weg, wichtig ist daß anstatt der drei Prozeduren für die drei Checkboxen nun da 100 Prozeduren stehen, die soch nur in der Nummer der Checkbox unterscheiden.

Ich lade mal beide Dokumente hoch, hoffentlich findest du die
Fehler (sowohl den im Code als auch meinen!)
http://rapidshare.com/files/362453583/Doc1und2.rar.html

Ich habe jetzt nur Dok1.doc überprüft.
Daraufhin meinen Code verändert. Jetzt kann man mit F11 von CB1 bis CB5 bequem „wandern“. Problem ist, Zur „Wanderung“ von CB5 zu Cb6 usw. muß man F11 zweimal drücken.
Da bin ich überfragt was da für ein Wordmist vorliegt.
Ich habe deshalb andernorts nachgefragt, mal schauen was kommt.

Gruß
Reinhard

Hallo Reinhard

Lassen wir mal das Nichtklappen weg, wichtig ist daß anstatt
der drei Prozeduren für die drei Checkboxen nun da 100
Prozeduren stehen, die soch nur in der Nummer der Checkbox
unterscheiden.

also muss ich deinen code kopieren und dann 100mal einfügen?

Daraufhin meinen Code verändert. Jetzt kann man mit F11 von
CB1 bis CB5 bequem „wandern“. Problem ist, Zur „Wanderung“ von
CB5 zu Cb6 usw. muß man F11 zweimal drücken.
Da bin ich überfragt was da für ein Wordmist vorliegt.
Ich habe deshalb andernorts nachgefragt, mal schauen was
kommt.

Das mit dem 2x drücken sollte auch kein Problem sein! :smile:
Ich werde es mal ausprobieren und dir dann nochmal Rückmeldung geben!
Vielen Dank soweit schon mal!
Wohin schicke ich die Rechnung? :smiley:

Gruß

Hallo Q,

Lassen wir mal das Nichtklappen weg, wichtig ist daß anstatt
der drei Prozeduren für die drei Checkboxen nun da 100
Prozeduren stehen, die soch nur in der Nummer der Checkbox
unterscheiden.

also muss ich deinen code kopieren und dann 100mal einfügen?

Ich weiß nicht wodrans grad hängt, wenn du meinen Code, 3 Antworten höher von mir hier ausführst, erhälst du in einem Dokument die Codezeilen für 100 Checkboxen. Damit ersetzt du die bisherigen drei.

Daraufhin meinen Code verändert. Jetzt kann man mit F11 von
CB1 bis CB5 bequem „wandern“. Problem ist, Zur „Wanderung“ von
CB5 zu Cb6 usw. muß man F11 zweimal drücken.
Da bin ich überfragt was da für ein Wordmist vorliegt.
Ich habe deshalb andernorts nachgefragt, mal schauen was
kommt.

Das mit dem 2x drücken sollte auch kein Problem sein! :smile:

Okay, ich würds trotzdem gern wissen was da fehlläuft.

Ich werde es mal ausprobieren und dir dann nochmal Rückmeldung
geben!

Wohin schicke ich die Rechnung? :smiley:

kein Akt, Schecks über 10.000 hole ich persönlich ab :smile:)

Gruß
Reinhard

Private Sub CheckBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox2_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox3_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox4_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox5_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox6_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox7_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox8_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox9_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox10_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox11_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox12_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox13_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox14_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox15_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox16_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox17_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox18_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox19_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox20_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox21_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox22_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox23_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox24_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox25_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox26_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox27_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox28_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox29_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox30_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox31_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox32_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox33_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox34_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox35_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox36_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox37_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox38_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox39_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox40_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox41_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox42_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox43_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox44_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox45_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox46_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox47_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox48_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox49_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox50_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox51_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox52_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox53_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox54_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox55_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox56_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox57_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox58_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox59_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox60_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox61_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox62_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox63_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox64_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox65_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox66_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox67_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox68_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox69_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox70_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox71_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox72_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox73_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox74_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox75_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox76_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox77_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox78_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox79_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox80_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox81_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox82_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox83_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox84_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox85_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox86_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox87_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox88_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox89_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox90_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox91_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox92_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox93_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox94_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox95_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox96_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox97_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox98_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox99_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Private Sub CheckBox100_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 122 Then Call CBtoCB
End Sub

Ich habe den Code für die 3 Boxen ersetzt, aber jetzt klappt
es nicht mehr, dafür bekomme ich aber auch keine Fehlermeldung
mehr.

Ich lade mal beide Dokumente hoch, hoffentlich findest du die
Fehler (sowohl den im Code als auch meinen!)
http://rapidshare.com/files/362453583/Doc1und2.rar.html

Hallo Heiko,

hier beide Docs funktionierend zurück:

http://rapidshare.com/files/363143117/Doc1.doc.html

http://rapidshare.com/files/363143814/Doc2.doc.html

Gruß
REinhard