• 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.

Zoek actie bij userform

Status
Niet open voor verdere reacties.

Vandecat

Gebruiker
Lid geworden
11 feb 2018
Berichten
18
Dag
Wie kan mij verder helpen bij mijn tweede face vliegprestatie userform. Gegevens in voeren, wijzigen en opslaan werk maar kan niet verwijderen of iets opzoeken . Geef altijd foutmelding bij Bekijk bijlage OpbPrestatie.xlsmControls(textbox) bij For a 1 tot 13, waar bij controle a=3 is .
Dank voor iedere hulp
Dirk,
 
Bij knop wijzigen en verwijderen je code aanpassen.
Code:
ListBox1.List = Sheets("Prijs").Range("A2:M" & [COLOR=#FF0000]Sheets("Prijs").[/COLOR][a1000].End(3).Row).Value 'For refresh listbox
Of
Code:
ListBox1.List = Sheets("Prijs").Range("A2").CurrentRegion.Offset(1).Value
kan je ook gebruiken bij UserForm_Initialize
 
Laatst bewerkt:
Jack,
Bij verwijderen lukt het maar de zoekknop blijft de melding a=3
End If
For a = 1 To 13 ' Wis textboxes(1-13)
Controls("textbox" & a) = ""
Next
 
Je hebt geen controls met de naam textbox3 en textbox6, en misschien wel meer niet.
 
Misschien op deze manier.
Code:
Private Sub CommandButton3_Click() ' Verwijderen knop
  If ListBox1.ListIndex = -1 Then
    MsgBox "Kies een item", vbInformation + vbOKOnly, "VERWIJDEREN"
    Exit Sub
  End If
   
  If ListBox1.ListIndex > -1 Then
    If MsgBox("Item wordt verwijderd. Weet je het dat zeker ?", vbCritical + vbYesNo, "VERWIJDEREN") = vbYes Then
       Sheets("Prijs").Range("A:A").Find(ListBox1.Column(0)).EntireRow.Delete
    End If
  End If
    
  Call Main 'Is Progress Bar
       
  ListBox1.ListIndex = -1
  For Each Ctrl In Me.Controls
    If TypeName(Ctrl) = "TextBox" Or TypeName(Ctrl) = "ComboBox" Then Ctrl.Value = ""
  Next Ctrl
  ListBox1.List = Sheets("Prijs").Range("A2").CurrentRegion.Offset(1).Value
  TextBox14.Value = ListBox1.ListCount
End Sub
 
Je hoeft niet zoeken als alles aanwezig is.

Ik ben niet zo van de msgbox, maar geeft wel duidelijkheid.
De comboboxen zet ik normaliter op Listindex = -1, maar ik heb het maar gelaten zoals het is.


De code anders in elkaar gestoken.
Code:
Private Sub CommandButton3_Click() ' Verwijderen knop
If ListBox1.ListIndex > -1 Then
    If MsgBox("Item wordt verwijderd. Weet je het dat zeker ?", vbCritical + vbYesNo, "VERWIJDEREN") = vbYes Then
       Call Main 'Is Progress Bar
       Sheets("Prijs").Rows(ListBox1.ListIndex + 2).Delete
       For Each Ctrl In Me.Controls
            If TypeName(Ctrl) = "TextBox" Or TypeName(Ctrl) = "ComboBox" Then Ctrl.Value = ""
       Next Ctrl
     ListBox1.List = Sheets("Prijs").Range("A2").CurrentRegion.Offset(1).Value
     TextBox14.Value = ListBox1.ListCount
    End If
  Else
MsgBox "Kies een item", vbInformation + vbOKOnly, "VERWIJDEREN"
End If
End Sub
 
De verwijder knop werk prima, dank aan de heren Jack & Harry daarvoor.
Op stelling van Harry "Je hoeft niet zoeken als alles aanwezig is", voor mij is dit deel heel belangrijk, zoeken op duif ring, soort categorie,
tweedaagse fond enz. Aan de hand van dit deel wordt er dan een kopie gemaakt naar blad Selectedprijs, daaraan een printknop voor ¨PDF file.
In mijn Listbox1 klop er iets niet of begrijpt ik het niet: (Enkele dagen reeds opzoek maar vind het niet) voor mijn zoek actie.
Dit Excel map bestaat dan uit vier delen 1) Stamkaart; 2) Prestatie; 3)Koppel en Hoklijst.
Dank,
Dirk.
 
Ik bedoel de methode van @Jack.

Jack doet in de code een zoekmethode met "Find"; niet nodig zoals ik de code hanteer.
De gevonden rij die verwijderd moet worden is immers twee plaatsen lager dan in je listbox (listbox.listindex+2).
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan