Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1380to1384
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
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

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

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

67 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige