Goedemiddag
Ik wil het volgende bereiken:
In een excel sheet gegevens opzoeken en weergeven en bij dubbele gegevens deze met een next knop kunnen weergeven.
Ik heb in een sheet NAW gegevens van klanten ( in een verborgen tabblad) deze kan ik in een ander sheet oproepen middels VBAcode en dan worden zijn/haar gegevens getoond.
Dit is de invulsheet waar de nieuwe gegevens worden ingevuld en kunnen worden weergegeven, veranderd en gewist.

Tot zover werkt het naar volle tevredenheid, nu heb ik b.v. drie relaties die heten allemaal Piet.
Bij de huidige Vbacode wordt de eerste relatie Piet weergegeven, nu wil ik middels een knop de (zo die er is/zijn) de tweede relatie Piet weer kunnen geven.
Alle relaties hebben wel een unieke relatiecode maar die weet ik natuurlijk niet uit mijn hoofd, wel zijn/haar naam
Ik heb de volgende code gevonden bij Microsoft
en ben aan het stoeien geweest om deze in/aan te passen
En hier schiet mijn kennis duidelijk te kort, dit werkt zo niet
Heel graag wat hulp.
Ik wil het volgende bereiken:
In een excel sheet gegevens opzoeken en weergeven en bij dubbele gegevens deze met een next knop kunnen weergeven.
Ik heb in een sheet NAW gegevens van klanten ( in een verborgen tabblad) deze kan ik in een ander sheet oproepen middels VBAcode en dan worden zijn/haar gegevens getoond.
Code:
Sub Select_Data2()
' Search the data repository worksheet (Relaties) and return the found record into our form.
Dim sourceSheet As Worksheet
Dim dataSheet As Worksheet
Dim searchValue As Variant
Dim dataIdCol As Range
Dim recordRow As Integer
' Make some sheet variables .
Set dataSheet = Worksheets("Relaties")
Set sourceSheet = Worksheets("Gegevens")
' Column that contains the value for which we will search.
Set dataIdCol = dataSheet.Range("B:F")
' Value to search for.
searchValue = InputBox("Vul in zoekgegevens.", "Record Search")
' Check if the user input a value and hit the OK button.
If searchValue <> vbNullString Then
'Value input, so search for it.
' Search
Set Rng = dataIdCol.Find(What:=searchValue, _
LookIn:=xlValues, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
MatchCase:=False)
' Check if a record was found.
If Not Rng Is Nothing Then
' Record found!
' Get the row of the record.
recordRow = Rng.Row
' Put the records information back into the form.
sourceSheet.Range("O5").Value = dataSheet.Cells(recordRow, 2).Value
sourceSheet.Range("O7").Value = dataSheet.Cells(recordRow, 3).Value
sourceSheet.Range("O9").Value = dataSheet.Cells(recordRow, 4).Value
sourceSheet.Range("O11").Value = dataSheet.Cells(recordRow, 5).Value
sourceSheet.Range("O13").Value = dataSheet.Cells(recordRow, 6).Value
sourceSheet.Range("O15").Value = dataSheet.Cells(recordRow, 7).Value
sourceSheet.Range("O17").Value = dataSheet.Cells(recordRow, 9).Value
sourceSheet.Range("O19").Value = dataSheet.Cells(recordRow, 10).Value
sourceSheet.Range("O24").Value = dataSheet.Cells(recordRow, 8).Value
Else
' Nothing found, tell the user.
MsgBox "Record not found."
End If
End If
End Sub
Dit is de invulsheet waar de nieuwe gegevens worden ingevuld en kunnen worden weergegeven, veranderd en gewist.

Tot zover werkt het naar volle tevredenheid, nu heb ik b.v. drie relaties die heten allemaal Piet.
Bij de huidige Vbacode wordt de eerste relatie Piet weergegeven, nu wil ik middels een knop de (zo die er is/zijn) de tweede relatie Piet weer kunnen geven.
Alle relaties hebben wel een unieke relatiecode maar die weet ik natuurlijk niet uit mijn hoofd, wel zijn/haar naam
Ik heb de volgende code gevonden bij Microsoft
Code:
Sub usingFindNext2()
With Worksheets(1).Range("a1:a500") Set c = .Find(2, LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
Do
c.Value = 5
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
End If
End With
End sub
en ben aan het stoeien geweest om deze in/aan te passen
Code:
Sub usingFindNext2()
Dim sourceSheet As Worksheet
Dim dataSheet As Worksheet
Dim searchValue As Variant
Dim dataIdCol As Range
Dim recordRow As Integer
With dataIdCol = dataSheet.Range("A:A")
On Error Resume Next
searchValue = InputBox("Vul in zoekgegevens.", "Record Search")
If searchValue <> vbNullString Then
Set Rng = dataIdCol.Find(What:=searchValue, LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = dataIdCol.Address
Do
' Put the records information back into the form.
sourceSheet.Range("O5").Value = dataSheet.Cells(recordRow, 2).Value
sourceSheet.Range("O7").Value = dataSheet.Cells(recordRow, 3).Value
sourceSheet.Range("O9").Value = dataSheet.Cells(recordRow, 4).Value
sourceSheet.Range("O11").Value = dataSheet.Cells(recordRow, 5).Value
sourceSheet.Range("O13").Value = dataSheet.Cells(recordRow, 6).Value
sourceSheet.Range("O15").Value = dataSheet.Cells(recordRow, 7).Value
sourceSheet.Range("O17").Value = dataSheet.Cells(recordRow, 9).Value
sourceSheet.Range("O19").Value = dataSheet.Cells(recordRow, 10).Value
sourceSheet.Range("O24").Value = dataSheet.Cells(recordRow, 8).Value
Set dataIdCol = .FindNext(dataIdCol)
Loop While Not dataIdCol Is Nothing And dataIdCol.Address <> firstAddress
End With
End If
End Sub
En hier schiet mijn kennis duidelijk te kort, dit werkt zo niet
Heel graag wat hulp.