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

zoekfunctie

Status
Niet open voor verdere reacties.
Code:
Private Sub CMBzoeken01_Click()

Dim zoeken As String
lastrow = Sheets("gegevens").Range("A" & Rows.Count).End(xlUp).Row
zoeken =[COLOR="#FF0000"] "*" & [/COLOR]TBXzoeken01.Value[COLOR="#FF0000"] & "*"[/COLOR]

For currentrow = 4 To lastrow Step 1
If Cells(currentrow, 3).Text[COLOR="#FF0000"] Like[/COLOR] zoeken Then

Wat Haije al zei dus, maar dan met wijziging in de vergelijking.
Werkt hier prima.
Jaaaaaaaaa dat werkt!! Dankjewel! Sorteren is inmiddels ook gelukt met een knopje en deze code:
Code:
Private Sub CMBsorteren_Click()

answer = MsgBox("Alfabetisch op achternaam sorteren?", _
    vbYesNo + vbQuestion, "Sorteren")
        If answer = vbYes Then
            Rows("4:4").Select
            Range(Selection, Selection.End(xlDown)).Select
            Selection.Sort _
            Key1:=Range("C4"), _
            Order1:=xlAscending, _
            Header:=xlNo
            MsgBox "De database is alfabetisch gesorteerd op achternaam."
    
        Else
            Unload Me
            MsgBox "Bewerking geannuleerd."
            Persoonsgegevens.Show
        End If
End Sub

Nu vraag ik me alleen nog af waarom de database de ingevoerde bedragen niet optelt met de formules die in het bestand staan! Iemand een idee hoe ik dat oplos? Of is het de bedoeling dat ik daar een nieuwe vraag van maak?
 
Code:
=SUM(BB4:BB18)
telt alleen de gegevens van BB4 t/m BB18. Als je gegevens toevoegt dan verandert deze range niet vanzelf. Je kan voor dit soort toepassingen veel beter een tabel (listobject) gebruiken.

Voor het sorteren is dit wel voldoende
Code:
Sub VenA()
  If MsgBox("Alfabetisch op achternaam sorteren?", vbYesNo + vbQuestion, "Sorteren") = vbYes Then
    Sheets("gegevens").Cells(3, 1).CurrentRegion.Offset(2).Sort Sheets("gegevens").Cells(3, 3), , , , , , , xlYes
  End If
End Sub
 
Als je gegevens toevoegt dan verandert deze range niet vanzelf. Je kan voor dit soort toepassingen veel beter een tabel (listobject) gebruiken.
Eh...... die heb ik nog niet geoefend . Ik heb geprobeerd te googlen maar vind niet echt een uitleg waar ik wat aan heb. Weet je waar ik die kan vinden?
Voor het sorteren is dit wel voldoende
Ah, dat ga ik ook nog even proberen dan .
 
Een iets andere benadering werkt met de InStr-funktie

Code:
Private Sub CMBzoeken01_Click()

Dim zoeken As String
lastrow = Sheets("gegevens").Range("A" & Rows.Count).End(xlUp).Row
zoeken = TBXzoeken01.Value
start_fw = last_found + 1

For currentrow = start_fw To lastrow Step 1
    txt = Cells(currentrow, 3).Value
  If Len(zoeken) > 0 And [COLOR="#FF0000"]InStr([/COLOR]1, txt, zoeken, vbTextCompare) > 0 Then
             
    TBXinitialen01.Text = Cells(currentrow, 1).Value

en

Code:
Private Sub CMBzoeken02_Click()

Dim zoeken As String
lastrow = Sheets("gegevens").Range("A" & Rows.Count).End(xlUp).Row
zoeken = TBXzoeken01.Value
start_bw = last_found - 1

For currentrow = start_bw To 4 Step -1
  txt = Cells(currentrow, 3).Value
  If Len(zoeken) > 0 And [COLOR="#FF0000"]InStr([/COLOR]1, txt, zoeken, vbTextCompare) > 0 Then
             
    TBXinitialen01.Text = Cells(currentrow, 1).Value

Verder nog wat aanpassingen gedaan om het werkend te krijgen.
Test de bijlage eerst voordat je het gaat implementeren in de "grote" database.
 

Bijlagen

Laatst bewerkt:
Ik had gisteren gereageerd, maar zie dat dit om de en of andere reden niet is opgeslagen. Daarom nogmaals:
Een iets andere benadering werkt met de InStr-funktie en Verder nog wat aanpassingen gedaan om het werkend te krijgen.

Helemaal Top!! Dit werkt als een speer! Dankjewel Piet!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan