Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Kontrollkästchen kopieren

Kontrollkästchen kopieren
21.10.2004 21:26:11
nightdream
´n Abend zusammen,
Ich habe mir über die Formular-Ansicht Kontrollkästchen in meine Tabelle eingebaut. Über rechte Maustaste | Steuerelement formatieren | Steuerung | Zellverknüpfung habe ich die Zelle z.B. J7 mit der darin enthaltenen Checkbox verknüpft. Soweit so gut. Wenn ich aber nun die Zelle in der Spalte runterkopiere, bleibt die Zellverknüpfung unverändert. Bei nur wenigen Zellen könnte man das ja noch manuell regeln, aber bei mehreren Hundert ...!?
Kann mir jemand sagen, was ich da machen kann?
Danke für Eure Mühe im voraus!
MfG
nightdream
Anzeige

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kontrollkästchen kopieren
Udo
Kein Mensch braucht mehrere Hundert Kontrollkästchen.
Udo
AW: Kontrollkästchen kopieren
21.10.2004 23:18:51
nightdream
@ Udo
Danke für Deine qualifizierte Hilfe...:-(
es geht doch nicht darum, zu bewerten ob irgendwer in diesem Forum irgendetwas braucht oder nicht. Damit würdest Du die Daseinsberechtigung dieses Forums in Frage stellen.
Wenn Du also keinen Lösungsansatz auf der Pfanne hast, schlag ich vor Du postest Deine Meinung im BRAVO Forum oder sonstwo.
Es gibt bestimmt ´ne Menge interessierter Excel-User, die vor der gleichen Herausforderung stehen/standen. Habe da ein thread im Forum gefunden, aber offensichtlich gab´s damals keine Lösung...
nightdream
Anzeige
AW: Kontrollkästchen kopieren
21.10.2004 23:39:24
Björn
Hallo ? (ein echter Name wäre schon ganz nett),
gehe in deine Datei, drücke Alt+F11, gehe im Menü "Einfügen" auf "Modul". Füge nun folgenden Code ein:

Sub CheckBoxen()
For i = 1 To ActiveSheet.CheckBoxes.Count
ActiveSheet.Shapes("Check Box " & i).Select
Selection.LinkedCell = "J" & 6 + i
Next i
End Sub

schließe den VBA-Editor und starte das Makro "CheckBoxen", indem du Alt+F8 drückst, das Makro "CheckBoxen" auswählst und auf "Ausführen" klickst.
Gruß
Björn
Anzeige
AW: Kontrollkästchen kopieren
22.10.2004 00:23:57
nightdream
Hallo Björn,
sorry, muss mich erstmal daran gewöhnen, dass das hier anders läuft. Vielen Dank für die schnelle Response auf meine Frage!
Ich hab´s gleich mal ausprobiert, bekomme aber eine Laufzeitfehlermeldung : Das Element mit dem angegebenen Namen wurde nicht gefunden!?
Was mache ich da denn falsch? Kann es daran liegen, dass die einzelne Checkbox auch in der Zelle liegt, mit der Sie verknüpft werden soll?
Gruß
Thomas
Anzeige
AW: Kontrollkästchen kopieren
22.10.2004 00:27:03
Björn
Hallo Thomas,
kannst du die Datei mal uploaden?
Gruß
Björn
AW: Kontrollkästchen kopieren
Thomas
Hi Björn,
gerne! Hat ´ne Weile gedauert. Die Originaldatei ist zu groß. Daher hoffe ich, Du kommst mit dem Beispiel klar. https://www.herber.de/bbs/user/12465.xls
Danke
Gruß Thomas
Anzeige
AW: Kontrollkästchen kopieren
22.10.2004 01:32:02
Björn
Hallo Thomas,
nimm einfach die Lösung von K.Rola.
Gruß
Björn
AW: Kontrollkästchen kopieren
04.01.2005 05:22:21
markus@
wunderbar mit dem Kopieren und wie kopiert man gleich zu jeden kontrollkästchen die formel dazu inklusive der vortlaufenden zeilen danke
Public

Sub CheckBox1_Click()
If CheckBox1.Value = True Then
Worksheets("Tabelle1").Range("F2").Value = Worksheets("Tabelle1"). _
Range("E2").Value
Else
Worksheets("Tabelle1").Range("Tabelle1!F2").Value = ""
End If
End Sub

-------------------------------------------------------------------
Public

Sub CheckBox2_Click()
If CheckBox2.Value = True Then
Worksheets("Tabelle1").Range("G2").Value = Worksheets("Tabelle1"). _
Range("E2").Value
Else
Worksheets("Tabelle1").Range("Tabelle1!G2").Value = ""
End If
End Sub

Checbox 4 -31 usw
daNKE OLIVER
Anzeige
AW: Kontrollkästchen kopieren
K.Rola
Hallo,
das kannst du so erledigen:
Option Explicit

Sub Check_Box()
Dim Sh As Shape
For Each Sh In ActiveSheet.Shapes
If Sh.Type = 8 Then
If Sh.FormControlType = 1 Then
Sh.ControlFormat.LinkedCell = Sh.TopLeftCell.Address
End If
End If
Next
End Sub

Gruß K.Rola
Anzeige
Respekt Karola - o. T.
22.10.2004 01:33:28
Björn
kleine Änderung
22.10.2004 02:03:48
Björn
Hallo Karola,
hallo Thomas,
probiert's mal mit:

Sub CheckBoxen()
Dim Sh As Shape
For Each Sh In ActiveSheet.Shapes
If Sh.Type = msoFormControl Then
If Sh.FormControlType = xlCheckBox Then
Sh.ControlFormat.LinkedCell = Cells(Sh.TopLeftCell.Row + 1, Sh.TopLeftCell.Column).Address
End If
End If
Next
End Sub

Hat den zumindest theoretischen Upgradevorteil, da Konstanten statt Zahlenwerten verwendet werden. Ausserdem liegt die linke obere Ecke der Kontrollkästchen immer eine Zeile über der verknüpften Zelle. Der Code wurde dahingehend angepasst.
Gruß
Björn
Anzeige
AW: kleine Änderung
Reinhard
Hallo Björn,
jetzt habe ich als Anfänger grad von K.Rola gelernt dass Zahlenwerte schneller sind.
Hättest du gesagt , dass konstanten besser lesbar sind, okay, alle stimmen zu.
Who the ... ups, was bedeutet nun "theoretischen Upgradevorteil" *verwirrt rumschau*
Danke für Infos
Gruß
Reinhard
Anzeige
AW: kleine Änderung
Reinhard
Hallo Björn,
kann es sein das du meinst, in Excel2010 sind die Zahlenwerte anders, dass also dann -4142 Fehler ergibt und xlirgendwas keinen?
Gruß
Reinhard
AW: kleine Änderung
22.10.2004 09:27:14
Björn
Hallo Reinhard,
der Vorteil der Konstanten ist, dass wenn sich Microsoft mal wieder einfallen lässt, z. B. eine Typnummer zu ändern, weil es neue Typen gibt und man eine logische oder alphabetische Reihenfolge will, dann bekommt auch die Konstante einen neuen Wert.
Gruß
Björn
Anzeige
AW: kleine Änderung
Thomas
Hallo Karola, hallo Björn,
SUUUPER ! Herzlichen Dank dafür - es klappt- Hurra!
Damit ich das nachvollziehen kann, was der Code bewirkt, könntet ihr mir das "übersetzen"? Natürlich nur, wenn´s Euch nicht zu viel Umstände bereitet. Ich möchte gerne VBA lernen, und suche hier auf diesem Weg u.a. den Einstieg...
Vielen lieben Dank nochmal
Thomas
Anzeige
Ergänzung...
K.Rola
Hallo,
wenn das mehrere hundert sind, bietet sich natürlich an, diese gleich mittels Makro zu erzeugen und ggf. zu formatieren.
Gruß K.Rola
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Kontrollkästchen in Excel effizient kopieren


Schritt-für-Schritt-Anleitung

  1. Kontrollkästchen einfügen:

    • Gehe zu Entwicklertools und klicke auf Einfügen.
    • Wähle das Kontrollkästchen aus und platziere es in der gewünschten Zelle.
  2. Zellverknüpfung erstellen:

    • Rechtsklicke auf das Kontrollkästchen und wähle Steuerelement formatieren.
    • Unter dem Reiter Steuerung gib die Zellverknüpfung (z.B. J7) an.
  3. Checkbox kopieren:

    • Markiere die Zelle mit dem Kontrollkästchen.
    • Benutze die Tastenkombination Strg + C, um die Zelle zu kopieren.
  4. Einfügen in neue Zellen:

    • Wähle die Zielzelle aus und drücke Strg + V, um das Kontrollkästchen einzufügen.
  5. Zellverknüpfung anpassen:

    • Um die Zellverknüpfung automatisch anzupassen, benötigst du ein kleines VBA-Skript (siehe Abschnitt Alternative Methoden).

Häufige Fehler und Lösungen

  • Problem: Nach dem Kopieren bleibt die Zellverknüpfung unverändert.

    • Lösung: Verwende ein VBA-Skript, um die Zellverknüpfungen automatisch anzupassen. (Siehe Abschnitt Alternative Methoden).
  • Problem: Laufzeitfehler beim Ausführen des Makros.

    • Lösung: Stelle sicher, dass die Kontrollkästchen korrekt benannt sind. Überprüfe die Namen in der Formularsteuerelemente-Liste.

Alternative Methoden

Eine effektive Möglichkeit, um Excel Kontrollkästchen zu kopieren, ist die Verwendung von VBA:

Sub CheckBoxen()
    Dim Sh As Shape
    For Each Sh In ActiveSheet.Shapes
        If Sh.Type = msoFormControl Then
            If Sh.FormControlType = xlCheckBox Then
                Sh.ControlFormat.LinkedCell = Cells(Sh.TopLeftCell.Row + 1, Sh.TopLeftCell.Column).Address
            End If
        End If
    Next
End Sub
  • So führst du das Makro aus:
    1. Drücke Alt + F11, um den VBA-Editor zu öffnen.
    2. Klicke auf Einfügen > Modul und füge den obigen Code ein.
    3. Schließe den Editor und drücke Alt + F8, um das Makro auszuführen.

Praktische Beispiele

  • Um mehrere Kontrollkästchen in einer Spalte zu erstellen und diese mit den jeweiligen Zellen zu verknüpfen, kannst du das VBA-Skript verwenden, das die Zellverknüpfung automatisch anpasst.

  • Beispiel: Wenn du ein Kontrollkästchen in Zelle A1 hast und es in die Zellen A2 bis A10 kopieren möchtest, wird das Skript dafür sorgen, dass die Zellverknüpfungen auf B1 bis B10 angepasst werden.


Tipps für Profis

  • Verwende VBA für umfangreiche Aufgaben: Bei vielen Kontrollkästchen ist es viel effizienter, VBA zu verwenden, anstatt sie manuell zu kopieren und zu verknüpfen.

  • Zellverknüpfung überprüfen: Achte darauf, dass die Zellverknüpfungen korrekt eingestellt sind, um fehlerhafte Daten zu vermeiden.

  • Zellen formatieren: Vor dem Einfügen von Kontrollkästchen kann es sinnvoll sein, die Zielzellen entsprechend zu formatieren.


FAQ: Häufige Fragen

1. Wie kann ich ein Kontrollkästchen ohne Entwicklertools einfügen? Es ist nicht möglich, ein Kontrollkästchen ohne die Entwicklertools einzufügen. Du musst die Entwicklertools aktivieren, um auf die Steuerelemente zugreifen zu können.

2. Kann ich Kontrollkästchen in Word einfügen? Ja, du kannst Ankreuzfelder in Word einfügen, indem du die Registerkarte "Entwicklertools" aktivierst und das Kontrollkästchen auswählst.

3. Wie lösche ich mehrere Kontrollkästchen auf einmal? Markiere die Kontrollkästchen, die du entfernen möchtest, und drücke Entf, um sie zu löschen. Alternativ kannst du ein VBA-Skript verwenden, um alle Kontrollkästchen auf einmal zu löschen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige