Jeg trenger bare å aktivere et bestemt regneark. Jeg har en strengvariabel som inneholder navnet på regnearket.
Ville følgende makro hjelpe deg?
Sub activateSheet(sheetname As String)
'activates sheet of specific name
Worksheets(sheetname).Activate
End Sub
I utgangspunktet vil du gjøre bruk av .activate-funksjonen. Eller du kan bruke .select-funksjonen slik:
Sub activateSheet(sheetname As String)
'selects sheet of specific name
Sheets(sheetname).Select
End Sub
Jeg vil anbefale deg å bruke regnearkets indeks i stedet for å bruke regnearkets navn, på denne måten kan du også løkke gjennom ark "dynamisk";
for i=1 to thisworkbook.sheets.count
sheets(i).activate
'You can add more code
with activesheet
'Code...
end with
next i
Det vil også forbedre ytelsen.
En alternativ måte å (ikke dynamisk) lenke en tekst for å aktivere et regneark uten makroer, er å gjøre den valgte strengen til en faktisk lenke. Du kan gjøre dette ved å velge cellen som inneholder teksten og trykke CTRL+K og deretter velge alternativet/fanen 'Plasser i dette dokumentet' og velge fanen du vil aktivere. Hvis du klikker på teksten (som nå er en lenke), blir det konfigurerte arket aktivt/valgt.