Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1876to1880
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
Inhaltsverzeichnis

Checkbox in UserForm zurück schreiben

Checkbox in UserForm zurück schreiben
13.04.2022 11:10:54
Nathalie
Hallo zusammen,
ich habe mir eine kleine Datenbank gebastelt. Soweit funktioniert alles einwandfrei.
Leider stehe ich derzeit an dem Punkt, die Checkboxen in die UserForm zurück zu schreiben und erneut einzutragen.
Es sollten alle Checkboxen in die Zeile Bade Ausstattung Hauptwohnung
Ich habe euch mal eine Bsp. Datei angefügt, evtl. könnt Ihr mir hier weiterhelfen.
https://www.herber.de/bbs/user/152443.xlsm
Vielen Dank schonmal im Voraus.
Viele Grüße

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Checkbox in UserForm zurück schreiben
13.04.2022 11:26:04
Mullit
Hallo,
Du hast ja noch gar keine ChkBox Event Proc angelegt, fang doch erstmal damit an und sag dann wo's hakt, bei VBA gut kann das doch soviel nich sein....;-)
Gruß, Mullit
AW: Checkbox in UserForm zurück schreiben
13.04.2022 11:36:27
Yal
Hallo Nathalie,
wenn Du ein Problem mit einem Nadel hast, dann bitte keine Heuhaufen abgeben.
Da macht sich keiner die Mühe zu suchen, wo was klemmt. Da musst Du schon differenzierter/gezielter beschreiben, wo es Dir geholfen werden sollte.
VG
Yal
AW: Checkbox in UserForm zurück schreiben
13.04.2022 11:53:19
Nathalie
Hallo ihr zwei,
ich habe euch mal den Code wie ich die Checkbox derzeit eintrage hinterlegt. Jedoch ist dies nicht so wie ich es gerne möchte.
Weiter bin ich leider nicht mit den Checkboxen gekommen. Ich würde jedoch gerne nicht die Zeile direkt vorgeben wie derzeit der fall, sondern lieber mit einem relativen Verweis ansprechen. Den Rest habe ich hinbekommen aber mit den Checkboxen komme ich einfach nicht weiter.
https://www.herber.de/bbs/user/152444.xlsm
Evtl. habt ihr einen Code zum Eintragen ändern und neu anlegen.
Vielen Dank und einen schönen Tag. :)
Anzeige
AW: Checkbox in UserForm zurück schreiben
13.04.2022 11:53:24
Nathalie
Hallo ihr zwei,
ich habe euch mal den Code wie ich die Checkbox derzeit eintrage hinterlegt. Jedoch ist dies nicht so wie ich es gerne möchte.
Weiter bin ich leider nicht mit den Checkboxen gekommen. Ich würde jedoch gerne nicht die Zeile direkt vorgeben wie derzeit der fall, sondern lieber mit einem relativen Verweis ansprechen. Den Rest habe ich hinbekommen aber mit den Checkboxen komme ich einfach nicht weiter.
https://www.herber.de/bbs/user/152444.xlsm
Evtl. habt ihr einen Code zum Eintragen ändern und neu anlegen.
Vielen Dank und einen schönen Tag. :)
Anzeige
AW: Checkbox in UserForm zurück schreiben
13.04.2022 12:40:34
Yal
Hallo Nathalie,
Du meinst, in einem von diesen Aktionen passt irgendwas nicht?
Private Sub Btn_Aendern_Click()
Private Sub Button_Eingabe_Click()
Private Sub Cbo_Blattname_Change()
Private Sub Cbo_Suche_Change()
Private Sub ComboLaden()
Private Sub CommandButton1_Click()
Private Sub CommandButton2_Click()
Es sind weiterhin 180 Zeilen Code...
Tipp: Jede Element (ComboBox, ChechBox, usw) hat eine Property "Tag". Darin kann man etwas speichern und auch lesen.
z.B.: Bad_Einzelbecken oder Bad_Doppelbecken, Küche_Einbauküche
So kannst Du in Schleife darauf gehen:

Private Sub Ablegen()
Dim C As Control
For Each C In Me.Controls
Select Case Split(C.Tag, "_")(0)
Case "Bad"
Case "Küche"
Case Else
End Select
Next
End Sub
(positioniere den Cursor auf "Split" und drücke Strg+F1. Du kommst damit auf die Online-Hilfe. Die Code-Beispiele sind immer ein paar Minuten Beachtung wert.)
Coding, das sich wiederholt, kann man in einem sepraten Prozedure ablegen:

Private Sub Zurückschreiben(BlattName As String, Zeile As Long, Feld As String, Info As String)
Dim Sp As Range 'Spalte
With Worksheets(BlattName)
Set Sp = .Rows("13:13").Find(What:=Feld)
If Not varSpaltenName Is Nothing Then .Cells(lz, Sp.Column) = Info
End With
End Sub
Abruf durch (in Button_Eingabe_Click):

Zurückschreiben .Name, lz, "Telefax", TextBoxTelefax
VG
Yal
Anzeige
AW: Checkbox in UserForm zurück schreiben
13.04.2022 13:04:05
Rudi
Hallo,
so?

Private Sub CommandButton2_Click()
Dim vntROW, cbx As Object, strOUT As String, strSHEET As String
strSHEET = Cbo_Blattname.Value
For Each cbx In Frame100.Controls
If LCase(cbx.Name) Like "checkbox*" Then
If cbx = True Then
strOUT = strOUT & "; " & cbx.Caption
End If
End If
Next
If Len(strOUT) Then
strOUT = Mid(strOUT, 3)
If TextBoxNr  "" Then
x = TextBoxNr * 1
vntROW = Application.Match(x, Sheets(strSHEET).Columns(2), 0)
If IsError(vntROW) Then
vntROW = Sheets(strSHEET).Cells(Rows.Count, 2).End(xlUp).Row + 1 'neuer Kunde
End If
End If
Sheets(strSHEET).Cells(vntROW, 14) = strOUT
End If
End Sub
Oder meinst du anhand des Strings in der Tabelle die Checkboxen wieder anhaken?
Anstatt der vielen Checkboxen würde ich eine Listbox mit ListStyle= fmListStyleOption und MulitiSelect = fmMultiSelectMulti nehmen.
Gruß
Rudi
Anzeige
AW: Checkbox in UserForm zurück schreiben
13.04.2022 13:20:03
Nathalie
Hallo Rudi,
vielen Dank für deine Rückmeldung.
Ich habe in der Datenbank ca. 100 verschieden Checkboxen. Die derzeit alle eben separat in die Datenbank eingefügt werden. Mal werden mehrere in eine Zeile geschrieben mal nur eine Checkbox in eine Zeile, je nach Überpunkt.
Gerne würde ich um Fehler zu vermeiden "falls Zeilenname etc." verschoben wird, die Daten suchen lassen und eintragen lassen.
Wenn ich die UserForm dann aufrufe und denn Kunde suche, sollte die Checkbox wieder angehakt werden, um den Überblick zu behalten und ggf. Änderungen vorzunehmen. Die Daten sollen wenn geändert überschrieben werden und falls es ein neuer Kunde ist neu angelegt werden. Derzeit bekomme ich dies nur mit den TextBoxen hin. Mit einer ListBox habe ich auch schon versucht zu arbeiten, da stell ich mich leider nur gleich an wie mit den Checkboxen.
Da habe ich leider noch meine Probleme.
Vielen Dank im Voraus für eure Hilfe und Viele Grüße
Anzeige
aus Tabelle in UF
13.04.2022 13:19:19
Rudi
Hallo,

Sub ComboBoxenBad(strBAD As String)
Dim cbx As Object
For Each cbx In Frame100.Controls
cbx = False
If strBAD Like "*" & cbx.Caption & "*" Then cbx = True
Next cbx
End Sub
In Cbo_Suche_Change mit
Call ComboBoxenBad(Sheets(varTabName).Cells(Sz, 14))
aufrufen.
Gruß
Rudi
AW: aus Tabelle in UF
13.04.2022 13:33:04
Nathalie
Hallo Rudi,
super, der Code funktioniert, perfekt. Vielen Dank für deine Hilfe. Alle Daten werden wie gewünscht zurück geschrieben.
Dann werde ich dies erstmal so in meiner Tabelle hinterlegen und wie gehabt eintragen. :)
Bei deinem ersten Code den du mir geschickt hast, habe ich einen Fehler mit dem x hier sagt er, dass wir keine Variable definiert haben.
Ich wünsche einen schönen Tag, Viele Grüße.
Anzeige
Korrektur
13.04.2022 13:46:35
Rudi
dann

If Len(strOUT) Then
strOUT = Mid(strOUT, 3)
If TextBoxNr  "" Then
vntROW = Application.Match(TextBoxNr * 1, Sheets(strSHEET).Columns(2), 0)
If IsError(vntROW) Then
vntROW = Sheets(strSHEET).Cells(Rows.Count, 2).End(xlUp).Row + 1 'neuer Kunde
End If
End If
Sheets(strSHEET).Cells(vntROW, 14) = strOUT
End If

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige