• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

waarde uit 3e kolom van listbox naar tekstbox

Status
Niet open voor verdere reacties.

jonasparmentier

Gebruiker
Lid geworden
16 mei 2019
Berichten
13
Hallo

Bij mijn userfrm zou ik graag bij het klikken op een lijn van de bovenste listbox de waarde van de 3e kolom naar de textbox hebben om dan van daaruit in detail te kunne zoeken op dit item.

voorlopig is het telkens de tekst uit de eerste kolom die wordt gekopieerd naar de textbox. Ik heb al uren gezocht, maar kom er maar niet uit...

Dit is de code die de eerste waarde uit de eerste kolom weergeeft:
Private Sub lstSearchResults_Click()
TextBox1.Value = lstSearchResults.Value

End Sub


Eenmaal dat gelukt is zou mijn volgende stap zijn om de zoekknop van mijn onderste textbox over te slaan zodat bij het klikken op een item in de bovenste listbox de details van "zeefnummer" onmiddellijk worden weergeven in de onderste listbox.

Kan iemand mij hierbij helpen aub?

Alvast bedankt voor jullie hulp!

jonas
 

Bijlagen

  • Knipsel.PNG
    Knipsel.PNG
    20,3 KB · Weergaven: 20
  • userform.xlsm
    117,1 KB · Weergaven: 18
Je geeft wel héél weinig informatie, en als het formulier start, is het leeg. Wat moet er gebeuren, en waarom laad je hem niet met wat voorbeelddata?
 
Maar goed, zelf een beetje gesnuffeld in je procedures en zo moeilijk is het allemaal niet :).
Code:
Private Sub lstSearchResults_Click()
    TextBox1.Value = lstSearchResults.Column(2)
End Sub
 
En om de laatste stap van je vraag ook gelijk te doen:
Code:
Private Sub lstSearchResults_Click()
Dim RowNum As Long
Dim SearchRow As Long
    
    TextBox1.Value = lstSearchResults.Column(2)
    RowNum = 2
    SearchRow = 2
    Worksheets("Input data").Activate
    Do Until Cells(RowNum, 1).Value = ""
        If InStr(1, Cells(RowNum, 1).Value, TextBox1.Value, vbTextCompare) > 0 Then
            Worksheets("Missing per set").Cells(SearchRow, 1).Value = Cells(RowNum, 1).Value
            Worksheets("Missing per set").Cells(SearchRow, 2).Value = Cells(RowNum, 2).Value
            Worksheets("Missing per set").Cells(SearchRow, 3).Value = Cells(RowNum, 3).Value
            Worksheets("Missing per set").Cells(SearchRow, 4).Value = Cells(RowNum, 4).Value
            Worksheets("Missing per set").Cells(SearchRow, 5).Value = Cells(RowNum, 5).Value
            SearchRow = SearchRow + 1
           End If
        RowNum = RowNum + 1
    Loop
    If SearchRow = 2 Then
        MsgBox "Geen resultaten gevonden."
        Exit Sub
    End If
    ListBox1.RowSource = "missingitem"

End Sub

Ik heb niet naar eventuele verbeteringen in je code gekeken. Die zullen er ongetwijfeld zijn :).
 
Gebruik het geavanceerde filter. En een beetje stuctuur.

Code:
Private Sub UserForm_Initialize()
  lstSearchResults.List = Sheets("Stock Data").Columns(1).SpecialCells(2).Offset(1).SpecialCells(2).Resize(, 5).Value
End Sub

Code:
Private Sub lstSearchResults_Click()
  TextBox1 = lstSearchResults.Column(2)
  With Sheets("Missing per set")
    .UsedRange.Clear
      With Sheets("Input data")
        .Range("Z1:Z2") = Application.Transpose(Array("TrayNumber", TextBox1))
        .Cells(1).CurrentRegion.Resize(, 5).AdvancedFilter xlFilterCopy, .Range("Z1:Z2"), Sheets("Missing per set").Cells(1)
      End With
    If .Cells(2, 1) <> "" Then
      .ListObjects.Add(xlSrcRange, .Cells(1).CurrentRegion, , xlYes).Name = "Tbl_temp"
      ListBox1.List = .ListObjects(1).DataBodyRange.Value
     Else
      ListBox1.Clear
    End If
  End With
End Sub
 

Bijlagen

  • userform.xlsb
    94,1 KB · Weergaven: 16
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan