Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1524to1528
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
Checkbox als Array für Eintrag in Zellen
10.11.2016 10:25:12
Marthma
Hallo liebes Forum,
ich habe eine ziemlich unelegante Lösung für das Eintragen von Inhalten aus Checkboxen in verschiedene Zellen und würde dies gern mit eurer Hilfe optimieren.
Ich habe eine Userform mit zwei Eingabemöglichkeiten: Checkboxen und Textboxen.
Jede Checkbox und jede Textbox soll den Inhalt für genau eine Zelle abfragen und in sie _
hineinschreiben. Das ist im Moment mit sehr vielen If Statements umgesetzt:

If Me.CheckBox1.Value = True Then
Worksheets("Sheet1").Cells(lngZeile, 24).Value = "X"
End If

Oder für Textboxen:

If Me.TextBox12.Value  0 Then
Worksheets("Sheet1").Cells(lngZeile, 20).Value = TextBox12.Value
End If

Ich möchte alle Check-/Textbox als Array speichern, jede Checkbox auf True/False testen und schließlich jeweils den Inhalt der Boxes in die entsprechende Zelle eintragen.
Die Zelle, in welcher die Eintragung vorgenommen werden sollen, wird stets durch eine Zeilennummer (lngZeile) die aus einer anderen Userform übergeben wurde und einer Spalte definiert. Die Spalten erhöhen sich gleich zum Index der Checkbox/Textbox (Inhalt Checkbox1 muss in (lngZeile,1) und Inhalt aus Checkbox2 muss in (lngZeile,2))
Bisher habe ich dafür das:

Dim ArCB(6) As CheckBox
Dim i As Integer
For i = 0 To UBound(ArCB)
ArCB(i) = i
Next
Dim x As Integer
For x = 0 To UBound(ArCB)
Workheets("VWFS").Cells(lngZeile, x + 2).Value = ArCB.Value(x)
Next

Könnt ihr mir vielleicht helfen?
Liebe Grüße

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Checkbox als Array für Eintrag in Zellen
11.11.2016 21:11:07
fcs
Hallo Marthma,
da du deine Checkboxen und Textboxen systematisch mit der zugehörigen Spaltennummer nummerierst, kann man das anders ohne Array lösen, indem man mit der Controls-Liste der Userform abarbeitet.
LG
Franz
Private Sub cmbEintragen_Click()
'Inhalte der Textboxen und Checkboxen ins Tabellenblatt übertragen
Dim Spalte As Long
Dim wksData As Worksheet
Dim lngZeile As Long
Set wksData = Worksheets("VWFS")
lngZeile = 3 'Testwert
For Spalte = 1 To 8
Select Case Spalte
Case 1 To 2, 4, 7 'Checkboxen
With Me.Controls("Checkbox" & Format(Spalte, "0")).Object
If .Value = True Then
wksData.Cells(lngZeile, Spalte) = "X"
Else
wksData.Cells(lngZeile, Spalte).ClearContents
End If
End With
Case 3, 5 To 6, 8 'Textboxen
With Me.Controls("Textbox" & Format(Spalte, "0")).Object
Select Case .Value
Case "" 'nichts eingetragen
wksData.Cells(lngZeile, Spalte).ClearContents
Case "0"
wksData.Cells(lngZeile, Spalte).ClearContents
Case Else
wksData.Cells(lngZeile, Spalte).Value = .Value
End Select
End With
Case Else
'do nothing
End Select
Next
End Sub

Anzeige

317 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige