Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Checkboxes erzeugen und positionieren

Checkboxes erzeugen und positionieren
18.09.2014 10:25:30
Tobi
Hallo,
ich möchte eine variable Anzahl an Checkboxes erzeugen und sie danach auch noch richtig positionieren.
Bei folgendem Code habe ich das Problem, dass alle Checkboxes die gleiche Caption haben:
For i = 1 To engctr
Dim PosiX As Single, PosiY As Single
' XY-Werte der Zellpositionen festlegen
PosiX = Cells(i + 25, 3).Left
PosiY = Cells(i + 25, 3).Top
With ActiveSheet.CheckBoxes
.Add(PosiX, PosiY, 72, 17.25).Select
.Caption = "Engine" & i
End With
Next
ich weiß, dass das an der Eigenschaft CheckBoxes hängt, aber ich habe keine Ahnung wie ich das anders schreiben kann. Die Caption sollte quasi "Engine1, Engine2, Engine3,...." sein.
Zweitranginges Problem:
Wie positioniere ich die Checkboxes zentral in den jeweiligen Zellen? Jetzt sind sie ja immer linksbündig. Leider hift mir die Excel-Hilfe nicht weiter bzw. ich bin zu doof, sie zu verstehen.
Danke im Voraus

Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Checkboxes erzeugen und positionieren
18.09.2014 10:41:33
Rudi
Hallo,
  For i = 1 To engctr
' XY-Werte der Zellpositionen festlegen
PosiX = Cells(i + 25, 3).Left
PosiY = Cells(i + 25, 3).Top
Set myCHK = ActiveSheet.CheckBoxes.Add(PosiX, PosiY, 72, 17.25)
myCHK.Caption = "Engine" & i
Next
Gruß
Rudi

Anzeige
AW: Checkboxes erzeugen und positionieren
18.09.2014 10:45:47
Tobi
Wow, Vielen Dank!!
Könntest du mir vielleicht noch sagen, was die jeweiligen Argumente bei checkboxes.add bedeuten?
Dann kann ich sie nämlich alleine zentrieren

das steht in der Hilfe. owT
18.09.2014 10:47:04
Rudi

AW: das steht in der Hilfe. owT
18.09.2014 10:49:36
Tobi
Und wie sind die Namen der Checkboxen mit dem ich sie ansprechen, checken etc kann?
Einfach durchnummeriert? Bzw. wie kann ich den Namen ändern?
mit myCHK.Name = "Engine" & i ?

Anzeige
teste doch einfach
18.09.2014 11:00:18
Rudi

AW: Checkboxes erzeugen und positionieren
18.09.2014 10:59:07
Daniel
Hi
Punkt 1)
Setze die WITH-Klammer anders.
du willst ja nur die Caption des neu hinzugefügen Buttons ändern.
Puntk 2)
wenn du ein Objekt in der Zelle zentrieren willst, dann berechnest du den relevanten .Left-Wert nach folgenden Schema aus Postion und Breite (width):
Objekt.Left = Zelle.Left + (Zelle.Width - Objekt.Width) / 2
für den Top-Wert dann analog mit der Höhe .heigth
sieht als Code so aus:
Sub test()
Dim i As Long
Dim PosiX As Single, PosiY As Single
For i = 1 To 2
' XY-Werte der Zellpositionen festlegen
PosiX = Cells(i + 2, 3).Left + (Columns(3).Width - 72) / 2
PosiY = Cells(i + 2, 3).Top + (Rows(i + 2).Height - 17.25) / 2
With ActiveSheet.CheckBoxes.Add(PosiX, PosiY, 72, 17.25)
.Caption = "Engine" & i
End With
Next
End Sub
wobei sich dieser Code bei der Ermittlung der Breite an der Gesamtbreite der Checkbox orientiert, also die von dir vorgegebne 72, die Checkbox und Caption umfasst.
Gruß Daniel
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Checkboxes in Excel erzeugen und positionieren


Schritt-für-Schritt-Anleitung

Um Checkboxes in Excel zu erzeugen und sie richtig zu positionieren, kannst du den folgenden VBA-Code verwenden. Dieser Code erstellt eine variable Anzahl an Checkboxes und zentriert sie in den jeweiligen Zellen.

Sub AddCheckboxes()
    Dim i As Long
    Dim PosiX As Single, PosiY As Single
    Dim engctr As Long
    engctr = 10 ' Anzahl der Checkboxes, die du erzeugen möchtest

    For i = 1 To engctr
        ' XY-Werte der Zellpositionen festlegen
        PosiX = Cells(i + 2, 3).Left + (Columns(3).Width - 72) / 2
        PosiY = Cells(i + 2, 3).Top + (Rows(i + 2).Height - 17.25) / 2
        With ActiveSheet.CheckBoxes.Add(PosiX, PosiY, 72, 17.25)
            .Caption = "Engine" & i
        End With
    Next i
End Sub

In diesem Code wird die Position der Checkboxes berechnet, sodass sie mittig in der Zelle ausgerichtet sind. Die Checkboxes.Add Methode wird verwendet, um die Checkboxes hinzuzufügen.


Häufige Fehler und Lösungen

Problem: Checkboxes haben die gleiche Caption.

Lösung: Stelle sicher, dass du die Caption innerhalb der Schleife änderst. Beispiel:

myCHK.Caption = "Engine" & i

Problem: Checkboxes sind nicht richtig zentriert.

Lösung: Berechne die Positionen für PosiX und PosiY, indem du die Breite der Zelle und der Checkbox berücksichtigst.


Alternative Methoden

Neben dem VBA-Code kannst du auch manuell Checkboxes in Excel hinzufügen. Gehe dazu wie folgt vor:

  1. Gehe zum Tab "Entwicklertools".
  2. Klicke auf "Einfügen" und wähle "Kontrollkästchen".
  3. Klicke in die Zelle, in der du das Kontrollkästchen haben möchtest.
  4. Verschiebe das Kontrollkästchen manuell, um es zu zentrieren.

Um die Checkbox mit einer Zelle zu verknüpfen, kannst du die Eigenschaften der Checkbox anpassen, indem du die Zelle auswählst.


Praktische Beispiele

Hier ist ein einfaches Beispiel, um eine Checkbox in Zelle B3 hinzuzufügen und zu zentrieren:

Sub ExampleAddCheckbox()
    Dim chkBox As Object
    Set chkBox = ActiveSheet.CheckBoxes.Add(Cells(3, 2).Left, Cells(3, 2).Top, 72, 17.25)
    With chkBox
        .Caption = "Beispiel-Checkbox"
        .Left = Cells(3, 2).Left + (Cells(3, 2).Width - .Width) / 2
        .Top = Cells(3, 2).Top + (Cells(3, 2).Height - .Height) / 2
    End With
End Sub

Dieses Beispiel zeigt, wie du eine Checkbox in der Zelle B3 zentrieren kannst.


Tipps für Profis

  • Du kannst Checkboxes mit Checkboxes.Add in einer Schleife erstellen, um Zeit zu sparen.
  • Nutze myCHK.Name = "Engine" & i, um den Namen der Checkboxen zu ändern, damit du sie später einfach ansprechen kannst.
  • Verwende ActiveSheet.CheckBoxes, um eine Übersicht über alle Checkboxes auf dem aktuellen Arbeitsblatt zu erhalten.

FAQ: Häufige Fragen

1. Wie kann ich eine Checkbox mit einer Zelle verknüpfen?
Du kannst die Checkbox-Eigenschaften ändern und die Zelle in das Feld "Verknüpfte Zelle" eingeben.

2. Wie zentriere ich eine Checkbox in Excel?
Berechne die Position der Checkbox basierend auf der Zelle, indem du die Breite und Höhe der Checkbox berücksichtigst.

3. Gibt es eine Möglichkeit, Checkboxen zu löschen?
Ja, du kannst Checkboxen mit VBA löschen. Zum Beispiel:

ActiveSheet.CheckBoxes("Engine1").Delete

Mit diesen Informationen solltest du in der Lage sein, Checkboxes effektiv in Excel zu erstellen und zu positionieren.

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