Zelle auslesen und Ergebnis in Checkbox
#1
Hallo zusammen,

über den Code
Code:
Private Sub CommandButton2_Click()                  'Suche über Aktenzeichen
Dim Suchen As String
Dim firstAddress
Dim i As Integer

'Datensatz suchen

If TextBox2.Text = "" Then
MsgBox "Geben Sie bitte ein Aktenzeichen ein !"
Exit Sub

Else
Suchen = TextBox2.Text
Set rngFind = Columns("B:B").Find(what:=Suchen, lookat:=xlWhole, LookIn:=xlValues)
If rngFind Is Nothing Then
  If MsgBox("Dieses Aktenzeichen existiert noch nicht !" & vbCrLf & vbCrLf & "  Möchten Sie das Aktenzeichen anlegen ?", vbQuestion + vbYesNo, "Nachfragen") = vbNo Then
  TextBox2.Text = ""
  TextBox2.SetFocus
  Exit Sub

  End If


Else
i = 0
firstAddress = rngFind.Address
        Do
        
            ListBox1.AddItem
            ListBox1.List(i, 0) = rngFind.Offset(0, -1).Value
            ListBox1.List(i, 1) = rngFind
            ListBox1.List(i, 2) = rngFind.Offset(0, 1).Value
            ListBox1.List(i, 3) = rngFind.Offset(0, 2).Value
            
            Set rngFind = Columns("B:B").FindNext(rngFind)
            
            i = i + 1
            
        Loop While Not rngFind Is Nothing And rngFind.Address <> firstAddress

End If
End If

If ListBox1.ListCount = 1 Then
    TextBox1.Text = rngFind.Offset(0, -1).Value
    TextBox24.Text = rngFind.Offset(0, -1).Value

...

End If
End Sub

kann ich mittels Aktenzeichen eine konkrete Zeile suchen und alle Werte entsprechend in Textboxen anzeigen lassen. Kann ich mir auch eine Zelle via Checkbox anzeigen lassen? Den umgekehrten Weg bekomme ich hin. Also wenn ich ein Häkchen gesetzt habe, dann schreibt er mir "wahr" in eine bestimmte Zelle nur beim Suchen tue ich mich schwer.

Vielen Dank und Grüße
Top
#2
Okay, die Frage war quatsch. Mit ein wenig Nachdenken habe ich die Lösung gefunden. Ich muss geduldiger mit mir selbst sein. Blush

Code:
If ListBox1.ListCount = 1 Then
...

CheckBox1 = rngFind.Offset(0, 20)

...
Top
#3
Ne... das war noch nicht ganz die Lösung. Funktioniert nur, wenn die Zelle noch leer ist. Sobald ich ein erstes mal ein Häkchen gesetzt habe, ist bei einer folgenden Abfrage immer ein Häkchen gesetzt. Vielleicht hat doch noch wer eine Idee!?
Top
#4
Code:
CheckBox1 = rngFind.Offset(0, 6 + Wahr) = "Wahr"

Ich test mal weiter, aber ich glaube jetzt hab ich es.
Top
#5
Hallo,

eine Checkbox hat doch nur zwei Zustände: Wahr und Falsch. Bei deinem letzten Code-konstrukt dürfte die Checkbox nur in den (wahrscheinlich seltenen) Fall aktiv sein, wenn in rngFind.Offset(0, 6 + Wahr) der Text Wahr steht.
Gruß Stefan
Win 10 / Office 2016
Top
#6
Hallo Stefan,

so ist es aber richtig (glaube ich), es sei denn du siehst eine bessere Möglichkeit. Vorher hab ich an der Stelle ein Textfeld gehabt. Der Nutzer hat ein X eingegeben und beim Suchen gab es wieder ein X im Textfeld. Ginge theoretisch auch, find aber die Checkbox eleganter und die Daten sind dann einheitlich. Ich glaube du bist an meiner Formulierung "alle Werte" hängengeblieben. Da hab ich mich falsch ausgedrückt. Meinte wirklich nur eine Spalte und dort jeweils eine Zeile mit zwei konkreten und immer gleichen Werten "X" oder " " bzw. "Wahr" oder "Falsch".

Grüße
Sandor
Top
#7
Hallo,

leider verstehe ich dich nicht. Könntest Du mal die Datei mit einer Erklärung hier hochladen?
Gruß Stefan
Win 10 / Office 2016
Top
#8
Hier die Datei Stefan, aber ich glaube das Problem ist gelöst. Die Checkbox zeigt das an, was sie anzeigen soll.


Angehängte Dateien
.xlsm   test_ms-excel.xlsm (Größe: 57,31 KB / Downloads: 8)
Top
#9
Vielleicht eine Frage zur Checkbox. Die ist bei mir ja bei der Suche gesperrt. Kann ich das Häkchen irgendwie richtig schwarz anzeigen lassen. Das Grau ist ja schwer zu erkennen. Hab ich da eine Einstellungsmöglichkeit übersehen?
Top
#10
Hallo,

die Enabled-Eigenschaft der Checkbox ist auf False und daher kannst Du sie nicht auswählen. Warum hast Du eigentlich zwei Checkboxen aufeinander?

Nachtrag: auf das + Wahr kannst Du verzichten.
Gruß Stefan
Win 10 / Office 2016
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste