VBA ActiveSheet og hvordan man aktiverer eller vælger et ark

Denne artikel vil diskutere ActiveSheet -objektet i VBA. Det vil også diskutere, hvordan du aktiverer, vælger og går til regneark (og meget mere). Læs vores fulde VBA -regnearkguide for mere information om arbejde med regneark i VBA.

ActiveSheet

I VBA refererer ActiveSheet til det aktuelt aktive regneark. Kun et ark kan være aktivt ad gangen.

Aktiver regneark (Indstilling af ActiveSheet)

For at indstille ActiveSheet skal du bruge regneark. Aktivere:

1 Regneark ("Input"). Aktiver

Kommandoen Aktiver ark vil faktisk "gå til" arket og ændre det synlige ark.

Ovenstående eksempel bruger arket (Tab) -navnet. I stedet kan du bruge VBA -kodenavnet til regnearket:

1 Ark 1.Aktiver

ActiveSheet -navn

Sådan får du ActiveSheet -navnet:

1 msgbox ActiveSheet.name

Udvalgte ark vs ActiveSheet

På ethvert tidspunkt kan kun et ark være ActiveSheet. Imidlertid kan flere regneark vælges på én gang.

Når der vælges flere regneark, betragtes kun det "øverste" regneark som aktivt (ActiveSheet).

Vælg regneark

Hvis du gerne vil vælge et regneark i stedet for at aktivere det. Brug .Vælg i stedet.

Vælg regneark efter fanenavn

Dette vælger et regneark baseret på dets fanebladnavn

1 Ark ("Input"). Vælg

Vælg regneark efter indeksnummer

Dette vælger et regneark baseret på dets position i forhold til andre faner

1 Regneark (1) .Vælg

Vælg regneark med VBA -kodenavn

1 Ark 1.Vælg

Valg af regneark efter kodenavn kan forhindre fejl forårsaget af ændringer i regnearksnavn.

Vælg Aktuelt regneark

For at vælge det aktuelle regneark skal du bruge ActiveSheet -objektet:

1 Vælg ActiveSheet

Flere aktiver / vælg arkeksempler

Indstil ActiveSheet til Variabel

Dette vil tildele ActiveSheet til en regnearksobjektvariabel.

123 Dim ws Som regnearkIndstil ws = ActiveSheet

Skift ActiveSheet -navn

Dette ændrer ActiveSheet -navnet.

1 ActiveSheet.Name = "Nyt navn"

Med ActiveSheet

Brug af With -erklæringen giver dig mulighed for at strømline din kode, når du arbejder med objekter (f.eks. Sheets eller ActiveSheet).

12345 Med ActiveSheet.Name = "StartFresh".Celler.Klar.Range ("A1"). Værdi = .NameAfslut med

Læg mærke til, hvordan du ikke behøver at gentage "ActiveSheet" før hver kodelinje. Dette kan være en enorm tidsbesparelse, når du arbejder med en lang liste med kommandoer.

Sløjfe gennem udvalgte ark

Den følgende makro løber gennem alle markerede ark og viser deres navne.

12345678 Sub GetSelectedSheetsName ()Dim ws Som regnearkFor hver gang i ActiveWindow.SelectedSheetsMsgBox ws.NameNæste wsAfslut Sub

Gå til næste ark

Denne kode går til det næste ark. Hvis ActiveSheet er det sidste ark, går det til det første ark i projektmappen.

12345 Hvis ActiveSheet.Index = Worksheets.Count HerefterArbejdsark (1) .AktiverAndetActiveSheet.Next.ActivateAfslut Hvis

Du vil bidrage til udviklingen af ​​hjemmesiden, at dele siden med dine venner

wave wave wave wave wave