Supportnet / Forum / Tabellenkalkulation
Steuerelement "Kontrollkästchen" in Excel
Frage
Moin...
habe folgedes Problem. Habe eine Excel Datenbank mit 4000 Einträgen und möchte ans Ende jeder Zeile ein Kontrollkästchen haben... Dieses Kontrollkästchen soll Bezug auf die Zelle haben, auf der es liegt (A1, A2, A3, - A4000), damit in der Zelle dementsprechend für den Eintrag in der Zeile der Wert "WAHR" oder "FALSCH" ausgegeben wird (je nach dem ob das Kästchen nun aktiviert ist oder nicht...)
Benötige das ganze, um eine Mehrfachauswahl treffen zu können und die Daten via Formel auf ein extra Tabellenblatt kopieren zu können und habe definitiv keine Lust 4000 Kontrollkästchen zu zeichnen, diese auf Zellgröße zu ziehen und für jedes Kästchen einzeln den Bezug herzustellen.
Hat jemand eine Idee?
Vielen Dank im Voraus.
Gruß
Torben
Antwort 1 von Eleve
Hallo Torben
ich hab nur eine einfache Lösung ohne Code.
Mach doch einfach ein x in eine Hilfsspalte und Sortieren Deinen Datensatz dann nach den x und kopiere diese X-Zeilen dann in Dein neues Datenblatt.
Viele Grüße
Eleve
ich hab nur eine einfache Lösung ohne Code.
Mach doch einfach ein x in eine Hilfsspalte und Sortieren Deinen Datensatz dann nach den x und kopiere diese X-Zeilen dann in Dein neues Datenblatt.
Viele Grüße
Eleve
Antwort 2 von coros
Hi Torben,
und so sähe das als Makro aus. Kopiere nachfolgendes Makro in ein StandardModul und starte es über eine Befehlsschaltfläche.
Position = Position + 17.25
anpassen. Damit wird der Abstand zwischen den Kontrollkästchen eingestellt. Wenn Deine Zeilenhöhe kleiner als diese 17,5 Pixel sein sollten, wird Dir allerdings das Kontrollkästchen in Zelle A1 nicht in der Mitte positioniert, da sonst die erste Position unter 0 sein müsste und das geht nicht.
Ich hoffe, Du kommst klar. Bei Fragen melde Dich.
Solltest Du nicht wissen, wie Du den Code in Deine Datei bekommst, dann schau mal auf meiner HP in der Rubrik Anleitungen und dort dann in der Anleitungsnummer 3 nach. Dort stelle ich dazu eine bebilderte Anleitung zur Verfügung, die Dir sicherlich helfen wird.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
und so sähe das als Makro aus. Kopiere nachfolgendes Makro in ein StandardModul und starte es über eine Befehlsschaltfläche.
Option Explicit
Sub Kontrollkästchen_einfügen()
Dim Wiederholungen As Integer, Position As Double
Application.ScreenUpdating = False
Position = 0
For Wiederholungen = 1 To 4000
With ActiveSheet.CheckBoxes.Add(17.25, Position, 24, 17.25)
.LinkedCell = "$A$" & Wiederholungen
.Characters.Text = ""
End With
Position = Position + 17.25
Next
End Sub
Mit dem Makro werden Dir 4000 Kontrollkästchen in Spalte A angelegt die den bezug auf der jeweils unter dem Kontrollkäschen liegenden Zelle haben. Ich bin von einer Zeilenhöhe von 17,5 ausgegangen. Wenn das bei Dir anders sein sollte, musst Du in dem Makro in der ZeilePosition = Position + 17.25
anpassen. Damit wird der Abstand zwischen den Kontrollkästchen eingestellt. Wenn Deine Zeilenhöhe kleiner als diese 17,5 Pixel sein sollten, wird Dir allerdings das Kontrollkästchen in Zelle A1 nicht in der Mitte positioniert, da sonst die erste Position unter 0 sein müsste und das geht nicht.
Ich hoffe, Du kommst klar. Bei Fragen melde Dich.
Solltest Du nicht wissen, wie Du den Code in Deine Datei bekommst, dann schau mal auf meiner HP in der Rubrik Anleitungen und dort dann in der Anleitungsnummer 3 nach. Dort stelle ich dazu eine bebilderte Anleitung zur Verfügung, die Dir sicherlich helfen wird.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 3 von workaholic
Hi Oliver,
vielen Dank... Deine Lösung ist Gold wert...
Viele Grüße aus Bremen
Torben
vielen Dank... Deine Lösung ist Gold wert...
Viele Grüße aus Bremen
Torben
Antwort 4 von coros
Moin Torben,
freut mich, dass ich Dir helfen konnte. Danke auch für die Rückmeldung.
MfG,
coros
Jeder macht was er will, keiner macht was er soll, aber alle machen mit.
freut mich, dass ich Dir helfen konnte. Danke auch für die Rückmeldung.
MfG,
coros
Jeder macht was er will, keiner macht was er soll, aber alle machen mit.
Antwort 5 von andyp79
Hallo Oliver,
könnte man dieses Makro dahingehend erweitern, dass man bei der Positionierung jeweils die Eigenschaft "Von Zellposition und -größe abhängig" vorgibt. Falls ja, wie?
Ohne diese Eigenschaft werden die Kontrollkästchen nämlich leider nicht mitsortiert.
Gruß
Andreas
könnte man dieses Makro dahingehend erweitern, dass man bei der Positionierung jeweils die Eigenschaft "Von Zellposition und -größe abhängig" vorgibt. Falls ja, wie?
Ohne diese Eigenschaft werden die Kontrollkästchen nämlich leider nicht mitsortiert.
Gruß
Andreas
Antwort 6 von Beverly
Hi Andreas,
diese Eigenschaft gibt es für die Kontrollkästchen aus der Formular-Symbolleiste nicht, da musst du die ActiveX-Steuerelemente nehmen:
Bis später,
Karin
diese Eigenschaft gibt es für die Kontrollkästchen aus der Formular-Symbolleiste nicht, da musst du die ActiveX-Steuerelemente nehmen:
Sub Kontrollkaestchen_einfuegen()
Dim Wiederholungen As Integer, Position As Double
Application.ScreenUpdating = False
Position = 0
For Wiederholungen = 1 To 5
With ActiveSheet.OLEObjects.Add(ClassType:="Forms.CheckBox.1", Left:=17.25, Top:=Position, Width:=24, Height:=17.75)
.LinkedCell = "$A$" & Wiederholungen
.Object.Caption = ""
.Placement = 1
End With
Position = Position + 17.25
Next Position
End Sub
Bis später,
Karin