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

een tablad openen via macro

Status
Niet open voor verdere reacties.

Marpiex

Gebruiker
Lid geworden
2 jan 2009
Berichten
5
hello....
ik zoek een oplossing om via de cel inhoud een tabblad te openen.
dus in cel word bijvoorbeeld 12 gezet, dan zou de twaalfde tablad geopend worden na verlaten, via enter, van de cel.

ik heb helaas geen voorbeeld en ikzelf loop vast ..
wie heeft hier ervaring mee??
please help??


:mad:
 
Laatst bewerkt:
Marpiex,

Kijk even hier die doet wat je wil, open het tabblad Rudi en vul het nummer in.
 
Marpiex,

Ik heb de code aangepast en zet deze achter elk blad en gebruik dan vak A1 in elk blad om je keuze te bepalen.
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Keuze As Single
Keuze = [A1].Value
        Sheets(Keuze).Select 
End Sub
Hij kan misschien beter maar het doet wat je wil en dat is toch de bedoeling.
 
Laatst bewerkt:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$A$1" Then Sheets(Target).Select
End Sub
 
2007 crasht

het filetje bij uitvoeren vba... is dat omdat het nederlands 2007 is of omdat de vba instellingen niet goed staan??

:D
 
Marpiex,

Ik gebruik Excel 2007 Nederlands.
De macro van Warme bakkertje heb ik ook geprobeerd en werkt bij goed.

Volgens mij heeft de taal niets met de macro te maken omdat de code in VBA in het Engels is.

Je heb de code toch wel achter het werkblad staan?
 
nope

ik weet nie wat er verkeerd gaat...bij mij werkt ie niet..

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then Sheets(Target).Select
End Sub

via vba ingevoegd..maar het werkt niet..is de value wel een getal of kan alles ingevuld
worden??
de code van hoornvan werkt wel....mmhh ik denk dat de cel niet goed word aagestuurd in de code van warme bakkertje ,is de value van code wel aangegeven net zoals die in hoornvan

:confused:
toch bedankt alvast
 
Laatst bewerkt:
ik weet nie wat er verkeerd gaat...bij mij werkt ie niet..

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then Sheets(Target).Select
End Sub

via vba ingevoegd..maar het werkt niet..is de value wel een getal of kan alles ingevuld
worden??
de code van hoornvan werkt wel....mmhh ik denk dat de cel niet goed word aagestuurd in de code van warme bakkertje ,is de value van code wel aangegeven net zoals die in hoornvan

:confused:
toch bedankt alvast

Waar heb je deze code geplakt? Heb je gecheckt dat de code wel uitgevoerd wordt (met een MsgBox bvb)?
 
heb het achter de pagina geplakt..kwam er te laat achter wat de code doet...hij verandert de naam van het tabblad zelf..i.p.v naar het tablad te gaan waar het nummer naar verwijst.
de code van hoornvan is de code voor mij...
TNX voor de hulp..:thumb::thumb::thumb:

topic is solved
 
Marpiex, vermijd onnodig declareren van variabelen (belastend voor het geheugen). Vermijd Select, Activate, ActiveCell in je code (werkt vertragend, is verwarrend en in 99% v/d gevallen overbodig). Gebruik zoveel mogelijk de ingebouwde functies van Excel maw bij correct gebruik doet onderstaande excact hetzelfde als de code van Wim
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then Application.Goto Sheets(Target).[A1]
End Sub
 
Marpiex, vermijd onnodig declareren van variabelen (belastend voor het geheugen). Vermijd Select, Activate, ActiveCell in je code (werkt vertragend, is verwarrend en in 99% v/d gevallen overbodig). Gebruik zoveel mogelijk de ingebouwde functies van Excel maw bij correct gebruik doet onderstaande excact hetzelfde als de code van Wim

Rudi

Weinig lettertjes code, maar...

  1. Target zonder .Value geeft hier een foutmelding.
  2. Ik zou in deze code wel verwachten dat er gecheckt wordt of het blad überhaupt bestaat. Een typfout is snel gemaakt. Of op zijn minst de TS diets maken dat hij / zij dat zelf nog moet doen.

Wigi
 
@Wim Als je enkel een nummer inbrengt zoals gevraagd in post#1 dan gaat hij gewoon door. Breng je echter een bladnaam in dan geeft hij inderdaad een foutmelding en is jouw opmerking meer dan terecht.:thumb:
 
@Wim Als je enkel een nummer inbrengt zoals gevraagd in post#1 dan gaat hij gewoon door. Breng je echter een bladnaam in dan geeft hij inderdaad een foutmelding en is jouw opmerking meer dan terecht.:thumb:

Sorry, heb de vraag niet goed gelezen. :o Dan moet de TS nog wat code toevoegen of er geen te groot nummer gekozen wordt (groter dan het aantal tabbladen). Of dat men niet het indexnummer van een grafiekenblad gekozen heeft, aangezien daar geen cel A1 is.

Wigi
 
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  on error resume next
  If Target.Address = "$A$1" Then Sheets(Format(Target)).Activate
End Sub

Er is een verschil tussen sheets(3) en sheets("3")
Format maakt dat verschil

of Cstr

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  on error resume next
  If Target.Address = "$A$1" Then Sheets(CStr(Target)).Activate
End Sub
 
Laatst bewerkt:
Voor de geïnteresseerden
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
    If Target.Address = "$A$1" And Target.Value <= Worksheets.Count Then
        Sheets(Target).Activate
    Else: MsgBox "Er zijn maar " & Worksheets.Count & " werkbladen in dit bestand"
    End If
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan