Visar det första kalkylbladet i ett makro

October 20

Terri har ett makro som körs automatiskt när ett kalkylblad öppnas. En sak den gör är att visa den första kalkylblad i arbetsboken, som brukar kallas "Consolidated." Detta fungerar bra, om inte den första kalkylbladet inte har detta namn. Då måste Terri kom ihåg att ändra makrot att ange ett annat kalkylblad namn. Hon undrar om det finns ett sätt att skriva sin makro så att den första kalkylbladet visas alltid, oavsett dess namn?

Normalt så Terri anspelar skulle du visa en viss kalkylblad genom att använda sitt namn i uttalandet, på detta sätt:

Arbetsblad ("Consolidated"). Aktivera

Detta fungerar bra, så länge som det finns ett arbetsblad med detta namn (Consolidated) i arbetsboken. Visar en viss kalkylblad (som den första i arbetsboken) när du inte vet vad namnet på kalkylbladet kan vara tar en annan strategi.

Det enkla svaret är att börja hänvisa till kalkylbladet använder sin position inom kalkylblad samlingen. Samtliga kalkylblad i en arbetsbok tillhör en samling av kalkylbladsobjekt. Denna samling är (märkligt nog) kallad kalkylblad samlingen. Du kan referera till en enskild kalkylblad i samlingen med namn (som gjordes i föregående exempel) eller så kan du hänvisa till dem genom att använda ett indexnummer i samlingen. Till exempel, kan du aktivera det första kalkylbladet i samlingen på detta sätt:

Arbetsblad (1) .Activate

Med hjälp av denna metod, verkligen det spelar ingen roll vad namnet på den första kalkylbladet är; Det kan lätt bli "Koncernredovisning" eller något annat namn. Excel aktiverar plikttroget första kalkylblad i arbetsboken.

Enda gången detta inte skulle fungera är om det första kalkylbladet i arbetsboken är dolt. Om kalkylbladet inte syns, då Excel automatiskt (efter utförandet av detta uttalande) visar den första synliga kalkylbladet.

Observera att detta visar den första (längst till vänster) kalkylblad fliken i arbetsboken. Om du istället vill visa den första skapade kalkylblad i en arbetsbok, oavsett dess position, kan du prova en annan strategi. Varje kalkylblad har (i brist på en bättre term) en bakom-kulisserna "kodnamn". Dessa kodnamn bör låta bekant; de är Tabell1, Tabell2 Sheet3, etc. Dessa namn finns kvar även om du kanske ändra namnet på kalkylbladet själv eller ändra placeringen av flikarna. Om du vill visa den första kalkylbladet skapas (igen, oavsett position), kan du försöka med följande:

Sheet1.Activate

Det finns en varning till detta: Det är möjligt att kodnamnet för dina kalkylblad har ändrats, om du skriver programmeringskoden för att göra det. Om så är fallet, då ovanstående uttalande kanske inte önskat resultat. (Testning är alltid en bra idé.)

ExcelTips är din källa för kostnadseffektiv Microsoft Excel utbildning. Detta tips (12271) gäller Microsoft Excel 97, 2000, 2002, och 2003. Du kan hitta en version av detta tips för menyfliksområdet i Excel (Excel 2007 och senare) här: Visning av First kalkylblad i ett makro.