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

Checkbox-Namen in einer Variablen ansprechen

Forumthread: Checkbox-Namen in einer Variablen ansprechen

Checkbox-Namen in einer Variablen ansprechen
18.01.2008 10:06:00
John
Hallo Zusammen,
Folgende Sache versuche ich zu lösen..
Ich habe 12 Checkbox für die Monate eines Jahres und möchte diese in VBA auslesen und die Caption in einen Array auslesen. Die Checkboxen heissen einfach chk1 bis chk12.
Jetzt mein Problem:
Ich möchte die Checkboxen über den Namen der Checkboxen in einer For-Schleife auslesen. Dafür muss ich aber eben auch die Bezeichnung der Checkboxen zusammensetzen und da hakt es...
Namen der Checkboxen: chk1 bis chk12
Dim chkBoxVariable as Checkbox
For i = 1 to 12
chkBoxVariable = "chk" & i --> hier dürfte der Fehler liegen
if chkBoxVariable = True then
....
end if
next i
Was muss man ändern?

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Checkbox-Namen in einer Variablen ansprechen
18.01.2008 10:18:06
Hajo_Zi
Hallo John,
es ist schon sntscheident wo?
Controls("Chk" & I).Caption

AW: Checkbox-Namen in einer Variablen ansprechen
18.01.2008 10:26:18
John
Hallo Hajo,
meinst du dann in dieser Weise?
Dim Controls As CheckBox
For i = 1 To 14
Message_1 = Message_1 & Controls("chk" & i).Caption
Next i
Als was muss ich dann Controls definieren?

Anzeige
AW: Checkbox-Namen in einer Variablen ansprechen
18.01.2008 10:34:00
Hajo_Zi
Hallo John,
lasse es doch einfach laufen. Controls ist ein VBA Befehl und muss nicht definiert werden.
Gruß Hajo

AW: Checkbox-Namen in einer Variablen ansprechen
18.01.2008 11:08:00
John
Habe ich natürlich auch versucht aber er gibt mir einen Fehler aus...
"Fehler beim Kompilieren: Sub oder Funktion nicht definiert"

Anzeige
AW: Checkbox-Namen in einer Variablen ansprechen
18.01.2008 11:32:39
Hajo_Zi
Hallo John,
dann liegt es wohl daran das Du meine Frage nach wo nicht beantwortest hast.
Gruß Hajo
;
Anzeige
Anzeige

Infobox / Tutorial

Checkbox-Namen in einer Variablen ansprechen


Schritt-für-Schritt-Anleitung

Um Checkboxen in Excel mit VBA auszulesen und deren Namen in einer Variablen zu verwenden, kannst du folgende Schritte befolgen:

  1. Öffne den VBA-Editor:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Erstelle eine neue Subroutine:

    Sub AuslesenCheckboxen()
  3. Definiere eine Variable für die Checkbox:

    Dim chkBoxVariable As CheckBox
  4. Schreibe eine Schleife, um die Checkboxen auszulesen:

    Dim i As Integer
    Dim Message_1 As String
    For i = 1 To 12
       Set chkBoxVariable = Controls("chk" & i)
       If chkBoxVariable.Value = True Then
           Message_1 = Message_1 & chkBoxVariable.Caption & vbCrLf
       End If
    Next i
    MsgBox Message_1
    End Sub
  5. Führe die Subroutine aus:

    • Schließe den VBA-Editor und führe die Subroutine über Excel aus.

Häufige Fehler und Lösungen

  • Fehler: Sub oder Funktion nicht definiert:

    • Dieser Fehler tritt häufig auf, wenn die Controls-Sammlung nicht gefunden wird. Stelle sicher, dass du die Checkboxen im richtigen Kontext (z.B. in einem UserForm) verwendest.
  • Fehler: Objektvariable nicht gesetzt:

    • Dies kann passieren, wenn der Name der Checkbox falsch ist oder nicht existiert. Überprüfe die Namen deiner Checkboxen im Eigenschaftenfenster.

Alternative Methoden

Wenn du die Checkboxen nicht über den Namen ansprechen möchtest, kannst du auch eine andere Methode verwenden:

  • Verwenden von Array: Du kannst die Checkboxen in ein Array speichern, um sie später zu bearbeiten.

    Dim chkArray(1 To 12) As CheckBox
    For i = 1 To 12
      Set chkArray(i) = Controls("chk" & i)
    Next i

Praktische Beispiele

Ein einfaches Beispiel, wie du die Checkboxen zur Steuerung einer Berechnung verwenden kannst:

Sub Berechnung()
    Dim Summe As Double
    Dim i As Integer
    For i = 1 To 12
        If Controls("chk" & i).Value = True Then
            Summe = Summe + i
        End If
    Next i
    MsgBox "Die Summe der ausgewählten Monate ist: " & Summe
End Sub

Tipps für Profis

  • Verwende Error Handling: Setze On Error Resume Next am Anfang deiner Subroutine, um Fehler zu ignorieren und anschließend mit einem If Err.Number <> 0 zu überprüfen.

  • Benennungskonventionen: Halte dich an ein konsistentes Namensschema für deine Checkboxen, um Verwirrung zu vermeiden.


FAQ: Häufige Fragen

1. Wie kann ich die Checkboxen in einer UserForm ansprechen? Du kannst die Checkboxen in einer UserForm genauso ansprechen wie in einem normalen Modul, indem du Me.Controls("chk" & i) verwendest.

2. Was ist der Unterschied zwischen CheckBox und Controls? CheckBox ist das Objekt, das eine einzelne Checkbox darstellt, während Controls eine Sammlung aller Steuerelemente in einem UserForm oder Arbeitsblatt ist.

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