Ik hoef alleen maar een bepaald werkblad te activeren. Ik heb een string variabele die de naam van het werkblad bijhoudt.
Zou de volgende Macro je helpen?
Sub activateSheet(sheetname As String)
'activates sheet of specific name
Worksheets(sheetname).Activate
End Sub
In principe wil je gebruik maken van de .Activate functie. Of je kunt de .Select functie gebruiken zoals dit:
Sub activateSheet(sheetname As String)
'selects sheet of specific name
Sheets(sheetname).Select
End Sub
Ik zou u aanraden om werkblad's index te gebruiken in plaats van werkblad's naam, op deze manier kunt u ook lus door bladen "dynamisch"
for i=1 to thisworkbook.sheets.count
sheets(i).activate
'You can add more code
with activesheet
'Code...
end with
next i
Het zal ook de prestaties verbeteren.
Een alternatieve manier om (niet dynamisch) een tekst te linken om een werkblad te activeren zonder macro's is om van de geselecteerde string een echte link te maken. U kunt dit doen door de cel te selecteren die de tekst bevat en op CTRL+K te drukken dan de optie/tab 'Plaats in dit document' te selecteren en de tab te selecteren die u wilt activeren. Als je dan op de tekst zou klikken (die nu een link is) wordt het geconfigureerde blad actief/selecteerbaar.