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

Springen naar een te selecteren veld in een ander werkblad.

KralingenC

Nieuwe gebruiker
Lid geworden
2 aug 2013
Berichten
4
L.S.
Ik ben al een hele tijd bezig met een manier om te springen naar een in een cel in een werkblad op te geven waarden, te springen naar het zelfde veld in een ander werkblad.

Voorbeeld.

werkblad "Basisgegevens"
1754128292226.png

ik wil in werkblad "Formule in B2" een id nummer (zelf in te voeren) opgeven, dat ergens in werkblad "Basisgegevens" staat.

werkblad "Formule in B2"
1754128359341.png

Vervolgens moet de cursor terecht komen in werkblad "Basisgegevens" op de positie van het gewenste nummer. (Dus F13)

Het bestand waar ik mee werk bevat ongeveer 10000 id-nummers.
Ik wil als ik id-nummer 3565 invoer, gelijk naar dat nummer gaan in de basisgegevens

Wie help mij uit de brand?

Alvast bedankt

Kees van Kralingen
 

Bijlagen

Er is geen 3565 te bekennen in je document.
Bovendien heb je een Worksheet event in een module gezet.
Dat gaat uiteraard niet werken.

In de code gebruik je Blad1 als werkbladnaam.
De naam van het blad is echter Basisgegevens en het object heet Blad1.
 
Laatst bewerkt:
In de module van werkblad "Formule in B2".
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
 If Target.Address = "$A$2" Then
    With Sheets("basisgegevens")
      n = Application.Match(Target, .Columns(1), 0)
    If IsNumeric(n) Then Application.Goto .Cells(n, 1)
    End With
  End If
End Sub
 
Of:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, Columns(1)) Is Nothing Then
        'Als VERT.ZOEKEN een waarde heeft opgeleverd:
        If Target.Offset(0, 1).Text <> "#N/B" Then
            Application.Goto Sheets("Basisgegevens").Range("A:A").Find(Target), False
            ActiveWindow.ScrollRow = ActiveCell.Row - 10
        End If
    End If
End Sub
 
Code:
If Target.Offset(0, 1).Text <> "#N/B" Then
Niet erg robuust voor andere talen.
In de versie Engels zou dit "#N/A" zijn.
 
Misschien ben ik niet helemaal duidelijk geweest.





De codes in het bijgeleverde bestand moet je als niet aanwezig beschouwen.

Maar om het een stukje eenvoudiger te maken heb ik een bestand met 2 tabbladen gemaakt.
Blad1: "Basisgegevens"
Blad2: "Formule in B2"

De basisgegevens zijn maar F1 tm F14.
Als het allemaal werkt kan ik het maken voor mijn hele grote bestand.

Dus eenvoudig weergegeven:

Basisgegevens -> hebben ID: F1 tm F14
Formule in B2 - daar moet ik het op te zoeken ID invoeren

De cursor moet dan terecht komen in Basisgegevens op de plaats van het opgezochte ID van Formule in B2
 
Lijkt mij duidelijk genoeg.
Zie beide reacties, maar die formule ben je niet nodig om de ID op te zoeken.
Vul in A2 van blad "formule in B2" je gezochte ID en de code doet de rest.
 
L.S.

Sorry, Ik begrijp het nog niet helemaal
Ik ben de weg kwijt in de 2 VBA stukjes (van A4 hulpje en HSV).
Graag1 duidelijke VBA die werkt.
Ik zal dan een nieuwe excel maken, en ook die goede VBA-code invoeren. (inclusief naam enz)

Dus:
1. Vul in A2 van blad "formule in B2" je gezochte ID
2. Ga dan naar de ID in blad "Basisgegevens
 
Allemaal, heel hartelijk bedankt. Het is gelukt.
Het scheelt mij heel erg veel zoek en scroll werk in mijn bestand van 10000 records.
 
Terug
Bovenaan Onderaan