Moin zusammen,
ich benötige mal wieder Eure Hilfe.
In die Tabelle 1 habe ich ein mehrere „Kontrollkästchen“
gesetzt. Nun möchte ich, daß er mir in Tabelle 2
in Zelle D10 eine 5 oder eine 1 einträgt, abhängig davon,
ob in Tabelle 1 bei einem bestimmten Kontrollkästchen ein
Häkchen gesetzt ist oder nicht.
Kann mich bitte jemand auf den Weg bringen?
Gruß und danke
Rolf
Moin Rolf,
Du könntest das Kontrollkästchen mal rechts anklicken und im Kontextmenü Code anzeigen wählen. Dann kommst du in den VBA-Editor und kannst dort die Anweisungen eingeben.
Gruß Alex
… einen Schritt weiter bin ich schon
folgendes Makro habe ich zugewiesen, wobei die Zielzelle
nun Tabelle2, E11 ist:
Sub Kontrollkästchen27_BeiKlick()
If checkbox27 = True Then Worksheets(„Tabelle2“).Range(„E11“) = 5
If checkbox27 = False Then Worksheets(„Tabelle2“).Range(„E11“) = 4
End Sub
Ergebmis: er setzt mir E11 in Tabelle 2 immer auf 4, egal, ob
Häkchen drin oder nicht.
Danke für jede Hilfe.
Gruß
Rolf
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hi Alex,
sorry, habe die Version veregessen: Excel 97, also rechtsklick - Makro zuweisen - bearbeiten, nehme ich an. Jetzt muß ich nur noch wissen, was an meinem Code falsch ist.
Gruß
Rolf
Du könntest das Kontrollkästchen mal rechts anklicken und im
Kontextmenü Code anzeigen wählen. Dann kommst du in den
VBA-Editor und kannst dort die Anweisungen eingeben.
Gruß Alex
Hallo Rolf,
also der Code scheint richtig zu sein. Bei mir funktioniert es(Office2003).
Aber probiere es mal mit der If…else Funktion:
If CheckBox1 = False Then
Application.Worksheets(„Tabelle1“).Range(„E11“) = 4
Else
Worksheets(„Tabelle1“).Range(„E11“) = 5
End If
Sollte dies auch nicht funktionieren, solltest du mal in die Prozedur ein Debug-Haltepunkt (mit Taste F9) setzen und schauen was passiert.
Gruß Kai
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hallo Kai,
Danke für Deine Mühe,
gleicher Effekt. Er schreibt immer eine 4 in die Zelle,
ob Haken gesetzt oder nicht.
Den Zweck des Haltepunktes habe ich noch nicht begriffen.
Das Makro läuft bis dorthin und stoppt dann.?
Gruß
Rolf
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Richtig…die Aufgabe Haltepunktes ist es, an der gewünschten Stelle im Code anzuhalten um ggf. Fehler zu finden. Man hat dann die Möglichkeit die zur Überwachung hinzugefügten Variablen und Objekte zu beobachten.
Dazu kann man auch den Code schrittweise abarbeiten. Genaueres kannst du der Hilfe entnehmen.
Ich weiß nicht mehr wie es genau war, aber es kann auch sein das die 97-Version beim Anklicken den Checkbox-Wert nicht automatisch auf True oder False setzt. Vielleicht mal probieren diese manuell zu setzen. Also z.B. checkbox27.value = true
Hallo Kai,
Danke für Deine Mühe,
gleicher Effekt. Er schreibt immer eine 4 in die Zelle,
ob Haken gesetzt oder nicht.
Den Zweck des Haltepunktes habe ich noch nicht begriffen.
Das Makro läuft bis dorthin und stoppt dann.?
Gruß
Rolf
… klappt nicht, er bleibt bei dem Wert
aus der ELSE-Schleife.
Trotzdem danke für Deine Mühe.
Gruß
Rolf
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hallo Rolf
Sub Kontrollkästchen27_BeiKlick()
If checkbox27 = True Then Worksheets(„Tabelle2“).Range(„E11“) = 5
If checkbox27 = False Then Worksheets(„Tabelle2“).Range(„E11“)
= 4
End Sub
das kann nicht klappen, probier mal:
Sub Kontrollkästchen27_BeiKlick()
If DieterBohlen = True Then Worksheets(„Tabelle2“).Range(„E11“) = 5
If DieterBohlen = False Then Worksheets(„Tabelle2“).Range(„E11“) = 4
End Sub
gleiches Ergebnis, die Variable checkbox27 und die Variable DieterBohlen existieren nicht für vba , haben somit den Wert 0 und den Zustand false.
Irgendwie kriege ich es grad nicht hin den Zustand deines Kontrollkästchens auszulesen, vielleicht weil es dafür nicht ausgelegt ist sondern nur ein Makro steuern soll. Den Zustand kann man ja in der Zellverknüpfung auslesen, If E11 = true …
Siehe z.B.:
Sub tt()
For Each KontrolK In ActiveSheet.Shapes
MsgBox KontrolK.Name
MsgBox KontrolK 'oder auch MsgBox KontrolK.value ergibt Fehler
Next KontrolK
End Sub
Um dein Problem zu lösen, nimm das Kontrollkästchen nicht aus der „Formular“-Leiste sondern aus der Steuerelemt-Leiste.
Dann kannst du mit
If CheckBox1 = True usw den Zustand abfragen.
Wenn du den Namen „Checkbox1“ ändern willst, Rechtsklick auf das Kästchen (im Entwurfsmodus, oben links in der Steuerelementauswahlliste) und dann Eigenschaften.
Gruß
Reinhard
Moin Reinhard,
danke für Deine Hilfe,
wenn ich die Checkbox aus der Steuerelement-Leiste nehme,
kann ich keinen Haken setzen, ich bekomme immer den Cursor
zum Verschieben, wenn ich darüber fahre. Gibt´s da nen Trick?
Gruß
Rolf
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
wenn ich die Checkbox aus der Steuerelement-Leiste nehme,
kann ich keinen Haken setzen, ich bekomme immer den Cursor
zum Verschieben, wenn ich darüber fahre. Gibt´s da nen Trick?
Hi Rolf,
du bist noch im Entwurfsmodus.
Übe mal mit den 3 obersten Schaltflächen der Steuerelement Toolbox.
Gruß
Reinhard
Auuuu - immer diese Anfänger 
Jetzt hab ich’s auch begriffen.
Danke Reinhard
Gruß
Rolf
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]