Een knop maken die naar een bepaalde cel springt

Anoniem
2024-02-05T09:00:31+00:00

Ik zou graag een knop willen maken, selectievakje of iets dergelijks, die springt naar een rij en cel.

Deze sprong is afhankelijk van een keuze in een dropdown lijst.

Ik heb een lijst van series welke in tabblad2 staan. Hierin staan alle gegevens horizontaal.

op tabblad1 staat een dropdown lijst waarin je de serie kan selecteren, met de waarde in cel F5 (b.v. FBI)

Op tabblad2 staat in cel A2 het jaartal van uitbrengen van de serie (b.v. 2020).

Nu zou het knopje , als je daarop klikt, moeten kijken naar de waarde in F5, en moeten springen naar tabblad2,cel A2.

Als de waarde in F5 veranderd naar (b.v. ZOO) zou de sprong moeten gaan naar tabbald2 cel A99)

ik heb een idee dat dit niet met formules opgelost kan worden maar met een macro? daar heb ik nog weinig kaas van gegeten.

Hopelijke kan iemand hier me op weg helpen.

Microsoft 365 en Office | Excel | Voor thuisgebruik | Windows

Vergrendelde vraag. Deze vraag is gemigreerd vanuit de Microsoft Ondersteuning-community. U kunt met een stem aangeven of de inhoud nuttig is, maar u kunt geen opmerkingen of antwoorden toevoegen of de vraag volgen.

0 opmerkingen Geen opmerkingen
Antwoord geaccepteerd door vraagauteur
Anoniem
2024-02-08T11:42:49+00:00

Beste Richard Hs,

Jij hebt niets verkeerd gedaan en excel ook niet. De enige die fouten kan maken, is de programmeur.

Waar het om gaat, dat is waar de zoektekst in het blad Serie Info staat. Ik ging uit van kolom A. Ik ging er ook van uit, dat je naar de eerste kolom wilt springen. Ik begrijp, dat dat kolom D moet zijn ( ScrollColumn = 4 ).

Je haalt de waarden uit een dropdownlijst. Dan is er weinig kans om een verkeerde waarde te selecteren. Maar het is, net als de vorige keer wel meegenomen.

Probeer deze macro en laat weten waar het eventueel mis gaat

Sub ZoekSerie()
' Een knop maken die naar een bepaalde cel springt
' Richard Hs, 05-02-2024

Dim sh As Worksheet  
Dim rg As Range, rgZoek As Range, zoekTekst As Range  
              
Set sh = Sheets("Serie Info")  
Set rg = sh.Range("A2", sh.Range("E" & Rows.Count).End(xlUp))  
Set zoekTekst = Sheets("Serie").Range("F5")  
Set rgZoek = rg.Find(What:=zoekTekst, \_  
            LookIn:=xlValues, lookat:=xlWhole)  

If rgZoek Is Nothing Then  
    MsgBox (zoekTekst) & "  is niet gevonden"  
    Exit Sub  
Else  
    sh.Select  
    ActiveWindow.ScrollRow = rgZoek.Row  
    ActiveWindow.ScrollColumn = 4  
End If  

End Sub

Groet,

Bocculus

Was dit antwoord nuttig?

1 persoon vond dit antwoord nuttig.
0 opmerkingen Geen opmerkingen
Antwoord geaccepteerd door vraagauteur
Anoniem
2024-02-07T10:59:29+00:00

Mocht er een nieuwe serie worden ingevoegd voeg ik een nieuwe rij in waardoor alle cellen een ander nummer krijgen (serie alert heeft nu D2, zou dan D3 worden) . Een macro werkt dat niet bij...

Zoals de macro er nu uitziet niet nee, maar daar is zeer eenvoudig een mouw aan te passen.

Geef de cellen waar naar toe 'gesprongen' moet worden een naam. Je kunt dan rijen invoegen zoveel je wil. Voorbeeld:

  • In de macro staat nu o.a. Case "Alert" .Goto Reference:=Sheets("Serie Info").Range("A2")
  • Geef in het blad "Serie Info" cel A2 de naam Alert, dat kan als volgt:

Selecteer in het blad "Serie info" de cel A2, plaats de cursor in het naamvak (dat is het vak bóven de kolomletters A, B,..), als daar wat staat, wis dat dan, typ: Alert en druk op Enter.

  • Wijzig in de macro de Goto-regel, behorend bij Alert als volgt: .Goto Reference:=Sheets("Serie Info").Range("Alert")
  • Doe die naamgeving en aanpassing van de macro ook voor alle andere cellen waar je met de macro naar toe wil gaan.
  • Sla daarna het Excelbestand op.
  • Test de macro door 1 of meer rijen in te voegen.

Succes ermee!

Was dit antwoord nuttig?

1 persoon vond dit antwoord nuttig.
0 opmerkingen Geen opmerkingen

28 extra antwoorden

Sorteren op: Oudste
  1. Anoniem
    2024-02-05T15:02:28+00:00

    Door de code te plaatsen in de knop is de extra wijziging ontstaan, geen wijziging van mijn kant. Verder heb ik jouw code aangepast naar mijn tabbladennamen.

    Het is idd de bedoeling dat ik zelf de opdracht geef. Ik ga je code dan plaatsen in een module morgen.

    Was dit antwoord nuttig?

    0 opmerkingen Geen opmerkingen
  2. Anoniem
    2024-02-05T15:28:26+00:00

    Door de code te plaatsen in de knop is de extra wijziging ontstaan, geen wijziging van mijn kant.

    Toch wel ! De regel die je geplaatst hebt luidt: Sub Selectievakje305_Klikken()

    Een macro die begint met die regel mag nooit op de plaats staan waar ik de macro uit mijn eerste bericht plaatste, die hoort in een module!

    Als je beslist zelf (via het door jou vermelde selectievakje) opdracht wil geven tot uitvoering van de macro, doe dan het volgende.

    Koppel het selectievakje aan een cel Dat kan door met de rechtermuisknop op het selectievakje te klikken, dan te iezen: "Besturingselement opmaken", en op de tab "Besturingselement" bij "Koppeling met cel" de cel in te vullen waaraan je het selectievakje wil koppelen. Je zult namelijk (redelijkerwijs gesproken) alleen de macro willen uitvoeren als het selectievakje is aangevinkt !! Ik gebruik hier als voorbeeld dat je het selectievakje aan cel J1 hebt gekoppeld.

    Doe daarna het volgende:

    • Als er in het blad behorend bij Blad1 nog een macro staat (bv. de macro behorend bij het drop-downmenu die ik in mijn eerste bericht plaatste), verwijder die dan! Laat je hem staan, dan krijg je problemen!
    • Kies in macro-editor bovenaan in het menu: "Invoegen"- "Module".
    • Plaats in de module onderstaande macro en verbind het selectievakje met deze macro. Sub Selectievakje305_klikken() If Sheets("Blad1").Range("J1").Value = True Then With Application Select Case Sheets("Blad1").Range("F5").Value Case "FBI" .Goto Reference:=Sheets("Blad2").Range("A2") Case "ZOO" .Goto Reference:=Sheets("Blad2").Range("A99"), scroll:=True 'Case .... '......... 'enzovoorts End Select End With End If End Sub

    Zoals ik hierboven al schreef: als je in F5 een drop-downmenu hebt staan, dan raad ik deze methode ten stelligste af, maar anderzijds wil ik je er niet van weerhouden die te gebruiken als je dat beslist wil.

    Was dit antwoord nuttig?

    0 opmerkingen Geen opmerkingen
  3. Anoniem
    2024-02-05T15:47:16+00:00

    Als je deze methode afraad, is er dan geen andere betere optie?

    Was dit antwoord nuttig?

    0 opmerkingen Geen opmerkingen