Man tereikia suaktyvinti tam tikrą darbalapį. Turiu eilutės kintamąjį, kuriame saugomas darbalapio pavadinimas.
Ar jums padėtų šis "Macro"?
Sub activateSheet(sheetname As String)
'activates sheet of specific name
Worksheets(sheetname).Activate
End Sub
Iš esmės norite pasinaudoti funkcija .Activate. Arba galite naudoti funkciją .Select taip:
Sub activateSheet(sheetname As String)
'selects sheet of specific name
Sheets(sheetname).Select
End Sub
Rekomenduočiau naudoti darbalapio indeksą, o ne darbalapio pavadinimą, tokiu būdu taip pat galima dinamiškai pervesti lapus;
for i=1 to thisworkbook.sheets.count
sheets(i).activate
'You can add more code
with activesheet
'Code...
end with
next i
Tai taip pat pagerins našumą.
Alternatyvus būdas (ne dinamiškai) susieti tekstą, kad suaktyvintumėte darbalapį be makrokomandų, yra pasirinktą eilutę paversti tikra nuoroda. Tai galite padaryti pasirinkę ląstelę, kurioje yra tekstas, ir paspaudę CTRL+K, tada pasirinkite parinktį / skirtuką 'Place in this document' ir pasirinkite skirtuką, kurį norite suaktyvinti. Jei spustelėsite tekstą (kuris dabar yra nuoroda), sukonfigūruotas lapas taps aktyvus / pasirinktas.