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

sheet selecteren op sheetnummer

Status
Niet open voor verdere reacties.

huistelathum

Gebruiker
Lid geworden
19 mrt 2012
Berichten
8
Goede middag Forum leden.

ik heb een bestand (bijgevoegd voorbeeld) waarin de sheets namen hebben of getallen (52 sheets zijn van 1 t/m 52 benoemd)
Nu wil ik graag dat er bij het openen van het bestand, de sheet die correspondeerd met het weeknummer op sheet "Gegevensblad" wordt geopend.
B.v. week 6 heeft als orginele bladnaam niet nummer 6 of is niet de 6e sheet in volgorde.

Heb voorbeeld VBA toegevoegd doch die gaat naar de verkeerde sheet.
Is het mogelijk om gebruik te maken van een getal dat voorkomt uit een formule?
Als ik handmatig een getal invoer op een bepaalde cel, en de VBA daarna laat verwijzen, dan werkt de VBA wel.
Dan geeft de sheetnaam in de VBA aan b.v. "6", terwijl dat anders de sheetnaam 6 is als die verwijst naar de formule.
 

Bijlagen

Hou er rekening mee dat een bladnaam wat anders is dan z'n indexnummer. Je verwijst nu naar het indexnummer. Zie hier het verschil:
Capture.JPG

Je geeft de variabele MySheetOpenen geen datatype mee waardoor het een variant is en dat nummer als indexnummer zal gebruiken. Probeer het eens met:
Dim MySheetOpenen As String

Blad6 is dus Sheets(6) en de naam is 2, dus Sheets("2").
 
Laatst bewerkt:
Volgens mij is dit voldoende.

Code:
Sub SheetDezeWeekOpenen()
    Application.Goto Sheets(CStr(Sheets("Gegevensblad").[E1])).[A1]
End Sub
 
Dat is het ook, maar ik wilde toch even het verschil uitleggen ;)
 
Code:
Sub SheetDezeWeekOpenen()
    Application.Goto Sheets([Gegevensblad!E1]).[A1]
End Sub
 
Als je de deze code in de module van ThisWorkbook zet dan ga je direct naar de actuele week bij het openen van het bestand.

Code:
Private Sub Workbook_Open()
    Application.Goto Sheets(CStr([SheetDezeWeek])).[A1]
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan