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

via knop springen naar een ander tabblad en cel

Status
Niet open voor verdere reacties.

hopperdepop

Gebruiker
Lid geworden
21 aug 2008
Berichten
11
Hallo helpers,

Ik zit met een probleempje waar ik niet uitkom. Ik wil d.m.v. een knop op blad 1 naar een ander blad cel D4 springen. Naar het andere blad is me wel gelukt, maar die cel wil maar niet.

code: Private Sub CommandButton1_Click()
Sheets("Test").Select
End Sub

Ik heb geprobeerd er een regeltje aan toe te voegen maar dat resulteert in een fout:

Cells("D4").Select

Ook met Range("D4") werkt het niet.

Wie weet de oplossing??
Alvast Bedankt
Groeten Rob
 
Code:
code: Private Sub CommandButton1_Click()
Sheets("Test").Range("D4").Select
End Sub
p.s. zoiets kan je ook doen zonder VBA/macro, met een hyperlink.
 
Laatst bewerkt:
@Paul,

Dit werkt niet. Ik krijg een foutmelding als ik een button gebruik uit de Werkset Besturingselementen en daar de code aan plak.

Wanneer ik met de macrorecorder dezelfde handelingen opneem en ik knoop die macro vast aan een button uit de werkbalk Formulieren, dan werkt het wel

Lijkt misschien ook op het probleem wat in deze topic wordt beschreven.
 
Code:
code: Private Sub CommandButton1_Click()
Sheets("Test").Range("D4").Select
End Sub
p.s. zoiets kan je ook doen zonder VBA/macro, met een hyperlink.

Hoi,

Bedankt voor je reactie. Als ik dit doe dan krijg ik de volgende fout:

Fout 1004 tijdens uitvoering.
Methode select van Klasse Range is mislukt

Raar maar waar. Weet jij wat dat is?

Groeten Rob
 
@Rob,

ZIe mijn reactie. Dat is ook de fout die ik krijg als ik een knop (button) uit de Werkset Besturingselementen gebruik.

Kies Beeld --> Werkbalken --> Formulier en maak dan een opdrachtknop. Alhoewel die er sterk op lijkt zijn het verschillende. De laatste (uit werkbalk formulier) kun je aan een gewone macro koppelen.
 
Waarom hij het niet doet snap ik ook niet, maar
Code:
Private Sub CommandButton1_Click()
WorkSheets("Test").Select
Range("D4").Select
End Sub
werkt volgens mij wel.
 
@Rob,

ZIe mijn reactie. Dat is ook de fout die ik krijg als ik een knop (button) uit de Werkset Besturingselementen gebruik.

Kies Beeld --> Werkbalken --> Formulier en maak dan een opdrachtknop. Alhoewel die er sterk op lijkt zijn het verschillende. De laatste (uit werkbalk formulier) kun je aan een gewone macro koppelen.

Gert,

Dit werkt goed. Bedankt :thumb:

Groeten Rob
 
@Paul,

Nee, werkt niet met een button uit de Werkset Besturingselementen.
Bij mij komt er met een button uit de Werkset Besturingselementen een sub ipv een private sub.
Misschien dat dat het is??
Een VBA goeroe zal wellicht licht in de duisternis kunnen scheppen....
 
Bij mij komt er met een button uit de Werkset Besturingselementen een sub ipv een private sub.
Misschien dat dat het is??
Een VBA goeroe zal wellicht licht in de duisternis kunnen scheppen....

Da's te hopen. Maar in deze topic had WiGi ook geen verklaring. En als hij het niet weet, dan ik in ieder geval niet.
 
Het is een raadsel, noch een mysterie.
Het heeft ook niets met de soort knop te maken (formulieren of werkset besturingselementen).
Het heeft alles te maken met de stand van zaken van het moment waarop de code wordt geactiveerd.

De code
Code:
sheets("Test").Range("D7").Select
betekent: maak de cel D7 aktief binnen het werkblad Test.

Deze opdracht kan alleen uitgevoerd worden als de ouder (parent) ic het werkblad "test" ,van de cel ook aktief is. Zo niet, dan moet die eerst aktief worden.
In die zin is de methode select een essentieel andere methode dan bijv. copy. De methode verplaatst de focus van het programma naar een element. Dat dient zich echter in een parent te bevinden dat ook al de focus heeft.

Als je een knop maakt in een werkblad en je wil daarmee de focus verplaatsen naar een andere cel van het werkblad, dan werken alle knoppen. De enige code die daarvoor nodig is is bijv.
  • [K4].select
  • range("K4").select
  • cells(4,11).select
Het aanduiden van de parent (de sheet) is overbodig.

Wil je naar een ander werkblad, dan kan dat met
  • Sheets("Test").Activate
    of
  • Sheets("Test").Select
en vervolgens
  • Activesheet.[K4].select
  • Activesheet.range("K4").select
  • Activesheet.cells(4,11).select
    of
  • [Test!K4].select
 
@snb

Dank je wel voor de uitleg. Die kan ik in theorie volgen.

Echter werkt het in het ene geval wel en het andere niet, ook niet als het tabblad eerst de focus krijgt.

Ik heb in bijgevoegd bestand e.e.a. uitgewerkt. Misschien nog een suggestie?
 

Bijlagen

Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan