Hallo,
hier mal ein Ansatz für eine Checkbox:
Code:
Option Explicit
Public loCheck1
Public loCheck2
Public loCheck3
Public loCheck4
Public loCheck5
Public loCheck6
Private Sub CheckBox1_Click()
Dim loLetzte As Long
If CheckBox1 = True Then 'Wenn in Checkbox1 das Häckchen gesetzt ist'
loLetzte = Sheets("Kalkulation").Cells(Rows.Count, 1).End(xlUp).Row + 1
Range("A" & loLetzte) = CheckBox1.Caption 'Gehe zur nächsten freien Zelle und schreibe den Namen der Checkbox rein'
loCheck1 = loLetzte
Else
loLetzte = Sheets("Kalkulation").Cells(Rows.Count, 1).End(xlUp).Row
Range("A" & loCheck1) = "" 'Lösche den Wert aus ebendieser Zelle'
End If
End Sub
Da Du Formeln in Deiner Tabelle hast und ich keine Zeit habe, habe ich es dabei belassen, den Eintrag zu löschen, normalerweise würde ich die ganze Zeile löschen und jedesmal neu eintragen.
Hallo zusammen,
das Ganze ist nicht gut durchdacht und für ungeübte User eher ungeeignet.
Wenn ich es richtig versteh, dann sollen ja noch zu den Checkboxen Zahlen eingegeben werden.
Diese müssten dann auch mit gelöscht werden.
Was soll passieren, wenn eine Checkbox mittendrin abgewählt wird. Dann entsteht in der Tabelle eine Lücke.
Man kann das Bisherige aber sehr leicht ohne viel Aufwand unter der Nutzung der Tag Eigenschaft der Checkbox umsetzen.
Folgender Code als Beispiel für eine Checkbox kann auf die anderen genauso adaptiert werden:
Code:
Private Sub CheckBox1_Click()
Dim loLetzte As Long
If CheckBox1.Tag = "" Then 'Wenn in Checkbox1 das Häckchen gesetzt ist'
loLetzte = Sheets("Kalkulation").Cells(Rows.Count, 1).End(xlUp).Row + 1
Range("A" & loLetzte).Value = CheckBox1.Caption 'Gehe zur nächsten freien Zelle und schreibe den Namen der Checkbox rein'
Me.CheckBox1.Tag = "A" & loLetzte 'shreibe die Zelladresse in die Tag Eigenschaft der Checkbox
Else
'Wenn in Checkbox1 das Häckchen gelöscht wird oder keins vorhanden ist'
Range(Me.CheckBox1.Tag).ClearContents 'Lösche den Wert aus ebendieser Zelle'
CheckBox1.Tag = "" 'löscht den Eintrag in der Tag Eigenschaft der Checkbox
End If
End Sub
Hallo Edgar,
es gibt da so einige Lösungswege, denke ich.
Aber mich interessiert mehr, was Travis damit machen möchte.
Hier einige Fragen an Travis:
1. wie erkenne später welche Vorrichtung wann und von wem und wofür eingegeben wurde?
1a. wäre eine eindeutige ID Vergabe nicht sinnvoll?
2.Bei 100 Checkboxen ist der ungeübte User eher überfordert.
Es würde übersichtlicher mit nur zwei Comboboxen und einer Listbox zu arbeiten.
Beispiel: ertse Combobox enthält alle Vorrichtungen, die zweite wie gehabt die Anzahl.
Nach Auswahl bei Beiden werden diese erst in der Listbox gelistet.
Wenn alles ausgewählt wurde, dann wird per Schaltfläche der Inhalt der Listbox in die Tabelle übertragen.
Falls eine Auswahl rausgenommen werden soll, kann das per Doppelklick in die Listboxzeile aus der Listbox entfernt werden.
Wenn ich nachher mal Zeit habe, stelle ich ein Beispiel ein, wie ich es machen würde. Aber wichtig wäre zu wissen, ob eine ID sein soll um die Daten später genau zuordnen zu können.
Hallo zusammen,
in der Anlage ein Beispiel, wie ich es machen würde:
[
attachment=1776]
Hey Leute,
sorry für die späte Rückmeldung, war übers WE weg. Und vielen Dank für die zahlreichen Rückmeldungen, ist ja Wahnsinn
@ Atilla, du hattest mir ein paar Fragen gestellt:
1&1a: wann und von wem ist in erster Linie unwichtig, ich bastel mir eine Funktion, die das Tabellenblatt exportiert auf dem die ausgewählten Vorrichtungen gelistet sind. Eine eindeutige ID Vergabe ist definitiv sinnvoll und auch schon geschehen.
2. Recht hast du, übersichtlicher ist es definitiv. Jedoch könnte es unter Umständen sein, dass der Enduser ein Laie auf dem Gebiet ist und sich mit den Vorrichtungen nicht auskennt. Die 100 Vorrichtungen sind unterteilt in 4 verschiedene Serien, dementsprechend gibt es ca 25 Vorrichtungen pro Userform. Um die Auswahl zu erleichtern, habe ich von jeder Vorrichtung Zeichnungen anfertigen lassen, nach denen der User seine Auswahl treffen kann.
Ich glaube das wird schwierig werden über eine Listbox zu realisieren. Ich finde die Idee, dass der User seine Auswahl bestätigen muss, bevor er den Endpreis sieht, aber sehr schön.
Ich versuche mal die Checkboxen der einzelnen Vorrichtungen mit einer Listbox zu verknüpfen, ich glaube das wäre die optimale Lösung :28:
Bei Fragen melde ich mich. also bis später
GlG und vielen Dank Travis