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

Forumthread: Position von CheckBoxen bestimmen?

Position von CheckBoxen bestimmen?
16.01.2006 10:46:06
CheckBoxen
Hallo,
hab wiedermal ein Problem und benötige dringend eure Hilfe.
Ich füge per VBA ein paar CheckBoxen in bestimmte Zellen ein.
Dim lnglastrow As Long, lngIndex As Long
Dim objOLE As Object
lnglastrow = Range("E65536").End(xlUp).Row
lfdnr = 1
For lngIndex = 5 To lnglastrow
If Cells(lngIndex, 6) "" Then
ActiveSheet.OLEObjects.Add(ClassType:="Forms.CheckBox.1", _
Left:=Cells(lngIndex, 2).Left, Top:=Cells(lngIndex, 2).Top, _
Width:=15, Height:=10.5).Name = "Box" & lfdnr
OLEObjects("Box" & lfdnr).Object.Value = True
lfdnr = lfdnr + 1
Set objOLE = Nothing
End If
Next
Jetzt würde ich gerne herausfinden in welcher Zelle die CheckBoxen stehen. Kann ich das irgendwie herausfinden?
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Position von CheckBoxen bestimmen?
16.01.2006 12:06:22
CheckBoxen
hi
schau dir mal checkbox1.Topleftcell
bzw checkbox1.bottomright.cell an und da die
werte für row und column
mfg
AW: Position von CheckBoxen bestimmen?
16.01.2006 12:59:25
CheckBoxen
Habs mal versucht, aber er zeigt mir garnichts an. Hab es so mal getestet:
MsgBox CheckBox1.BottomRightCell
In der msgbox steht nichts drin.
AW: Position von CheckBoxen bestimmen?
16.01.2006 13:19:14
CheckBoxen
Hallo Lisa,
du postest hier diesen Code:
Dim lnglastrow As Long, lngIndex As Long
Dim objOLE As Object
lnglastrow = Range("E65536").End(xlUp).Row
lfdnr = 1
For lngIndex = 5 To lnglastrow
If Cells(lngIndex, 6) "" Then
ActiveSheet.OLEObjects.Add(ClassType:="Forms.CheckBox.1", _
Left:=Cells(lngIndex, 2).Left, Top:=Cells(lngIndex, 2).Top, _
Width:=15, Height:=10.5).Name = "Box" & lfdnr
OLEObjects("Box" & lfdnr).Object.Value = True
lfdnr = lfdnr + 1
Set objOLE = Nothing
End If
Next
Ziemlich aufwendig, ganz nett programmiert und funktionsfähig aber ohne jeden Hinweis das er nicht von dir ist.
Denn in dem Code bennennst du doch selbst deine Checkboxen in "Box" & lfdnr um. Und eine Erweiterung mit Address oder Row oder Column dranzuhängen kann dann ja auch nicht so schwierig sein wenn der Originalcode von dir ist.
Was hältst du von diesem Code:

Sub auslesen()
' Für Box 6
MsgBox ActiveSheet.OLEObjects("Box6").TopLeftCell.Address
MsgBox ActiveSheet.OLEObjects("Box6").BottomRightCell.Row
End Sub

Gruß Heiko
PS: Rückmeldung wäre nett !
Anzeige
AW: Position von CheckBoxen bestimmen?
CheckBoxen
Hey, vielen Dank. Das wollt ich haben.
Und ja, der Code ist nicht von mir, da hast du recht. Habe ich auch nie behauptet das ich das selbst geschrieben habe. Ich hatte den Code auch aus diesem Forum. Es tut mir leid. Das nächste mal, falls ich noch ein Problem haben sollte, schreibe ich dabei das der Code nicht von mir ist.
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Position von CheckBoxen in Excel herausfinden


Schritt-für-Schritt-Anleitung

Um die Position von CheckBoxen in Excel zu bestimmen, kannst Du folgende Schritte ausführen:

  1. VBA-Editor öffnen: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Modul erstellen: Klicke auf Einfügen und wähle Modul, um ein neues Modul hinzuzufügen.

  3. Code einfügen: Füge den folgenden Code ein, um die Adresse der CheckBox zu ermitteln:

    Sub auslesen()
       ' Für Box 6
       MsgBox ActiveSheet.OLEObjects("Box6").TopLeftCell.Address
       MsgBox ActiveSheet.OLEObjects("Box6").BottomRightCell.Row
    End Sub
  4. Code ausführen: Stelle sicher, dass Du die Checkbox "Box6" bereits hinzugefügt hast, und führe das Makro aus.

  5. Ergebnisse ansehen: Eine MessageBox zeigt die Adresse der oberen linken Zelle sowie die Zeilennummer der unteren rechten Zelle der CheckBox an.


Häufige Fehler und Lösungen

  • Fehler: MsgBox zeigt nichts an

    • Lösung: Vergewissere Dich, dass die CheckBox tatsächlich den Namen "Box6" trägt. Ansonsten passt das Skript nicht.
  • Fehler: VBA-Fehlermeldung

    • Lösung: Stelle sicher, dass Du den richtigen Objektnamen verwendest. Ein Tippfehler kann dazu führen, dass der Code nicht funktioniert.

Alternative Methoden

Wenn Du keine VBA-Programmierung nutzen möchtest, kannst Du auch folgende Methoden ausprobieren:

  • Direktes Klicken: Klicke mit der rechten Maustaste auf die CheckBox und wähle "Objekt formatieren". Dort findest Du die Position unter "Größe und Eigenschaften".
  • Formel verwenden: Wenn Du die CheckBoxen in einer bestimmten Zelle positionierst, kannst Du die Zellenreferenz direkt in eine Zelle eingeben.

Praktische Beispiele

Hier sind einige Anwendungsbeispiele:

  1. Position von mehreren CheckBoxen ermitteln: Du kannst eine Schleife nutzen, um die Position aller CheckBoxen in einem bestimmten Bereich auszugeben:

    Sub alleCheckBoxen()
       Dim obj As OLEObject
       For Each obj In ActiveSheet.OLEObjects
           If TypeOf obj.Object Is MSForms.CheckBox Then
               MsgBox obj.Name & ": " & obj.TopLeftCell.Address
           End If
       Next obj
    End Sub
  2. CheckBoxen dynamisch benennen: Wenn Du CheckBoxen auf Basis von Zellinhalten benennen möchtest, kannst Du das wie folgt tun:

    Dim cell As Range
    For Each cell In Range("B5:B10")
       If cell.Value <> "" Then
           ActiveSheet.OLEObjects.Add(ClassType:="Forms.CheckBox.1", _
           Left:=cell.Left, Top:=cell.Top, _
           Width:=15, Height:=10.5).Name = "CheckBox_" & cell.Value
       End If
    Next cell

Tipps für Profis

  • Nutze Fehlerbehandlung in Deinem VBA-Code, um Abstürze zu vermeiden.
  • Halte Deine Code-Dokumentation aktuell, um die Wartbarkeit zu verbessern.
  • Experimentiere mit der Größe und Position der CheckBoxen, um eine ansprechende Benutzeroberfläche zu gestalten.

FAQ: Häufige Fragen

1. Wie kann ich die CheckBoxen in einer bestimmten Zeile automatisch erstellen? Du kannst eine Schleife verwenden, um CheckBoxen in einer bestimmten Zeile zu erstellen, ähnlich wie im Schritt-für-Schritt-Anleitung beschrieben.

2. Was mache ich, wenn meine CheckBoxen nicht angezeigt werden? Überprüfe die Sichtbarkeit der CheckBoxen unter den Eigenschaften und stelle sicher, dass sie sich nicht außerhalb des sichtbaren Bereichs befinden.

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