Excel VBA-kalkylblad
Excel är en arbetsbok och i den arbetsboken innehåller den kalkylblad eller ark. Det är mycket viktigt att förstå begreppet Kalkylblad i VBA eftersom vi hela tiden arbetar med kalkylblad. I normal excel-fil kallar vi det som ark men i VBA-terminologi kallas det för "Arbetsblad". Alla samlingar i ett kalkylblad kallas ”Kalkylblad”.
I VBA är kalkylbladet ett objekt. Det finns två sätt att hänvisa till kalkylbladet ett med "Kalkylark" -objektet och ett annat med "Ark" -objektet.
Jag vet att din fråga är vad skillnaden mellan dem är. I Excel kan vi se två typer av ark, en är vanliga kalkylblad och en annan är diagramblad.
Kalkylbladets flik i Excel tar endast hänsyn till kalkylblad i arbetsboken förutom diagramblad. ”Ark” tar hänsyn till alla kalkylblad i arbetsboken, inklusive diagrambladet. Titta till exempel på bilden nedan.

I ovanstående har vi totalt 5 ark. Av dessa 5 ark är 3 arbetsblad och 2 är diagramblad.
Här ”Blad” räkna är 3, och ”Sheets” räkna är två.
Titta nu på bilden nedan.

Här är alla ark kalkylblad, så antalet "Arbetsblad" och "Ark" är 3.
Så, som en del av koden, om du vill använda kalkylblad, kommer objekt ihåg denna punkt.
Syntax för VBA-arbetsblad
Som jag sa är kalkylbladet en objektvariabel. Detta har dock syntax också.

Indexet är inget som är det kalkylblad som vi hänvisar till. Som du kan se till slut kallas det för Object.
Till exempel, Kalkylblad (1). Välj betyder att välja det första kalkylbladet i arbetsboken. Det spelar ingen roll vad namnet på kalkylbladet är; oavsett vilket kalkylblad som infogas först i arbetsboken kommer att väljas.
Vi kan också hänvisa till kalkylbladet med dess namn också. Vi måste nämna det fullständiga eftersom det är ett kalkylbladets namn i dubbla citat.
Till exempel kalkylblad ("Försäljningsblad"). Välj betyder att du väljer det ark som heter "Försäljningsblad". Här spelar det ingen roll vad som är numret på kalkylbladet, det väljer alltid det angivna kalkylbladet.
Hur använder jag kalkylarkobjekt i VBA?
Exempel 1
Antag till exempel att du har totalt 5 ark i din arbetsbok, och namnet på dessa kalkylblad är "Kalkylblad 1", "Kalkylblad 2", "Kalkylblad 3", "Diagramblad 1" och "Diagramblad 2".

Om jag använder numreringen för att välja kalkylbladet kan jag använda numret som kalkylbladets referens.
Kalkylblad (2). Välj betyder att det väljer det andra kalkylbladet i arbetsboken.
Koda:
Sub Worksheet_Example1 () Worksheets (2). Välj End Sub

Jag kommer att köra den här koden med F5-tangenten eller manuellt och se resultatet.

Nu ändrar jag bladnummer till 3.
Koda:
Underarbetsblad_Exempel1 () Kalkylblad (3). Välj Slutunder

Se nu vad som händer när du kör koden manuellt eller använder F5-nyckelkoden.

Om du tittar på bilden ovan hade den valt det fjärde kalkylbladet när jag bad om att välja tredje kalkylbladet.
Detta beror på att jag har använt kalkylarkobjektet, inte arkark. Som jag sa tidigare betraktar "Kalkylark" -objektet endast kalkylblad, inte kartblad.
För att välja det tredje arket av alla ark i arbetsboken, använd Sheets-objekt.
Koda:
Underarbetsblad_Exempel1 ()
Ark (3). Välj
Avsluta sub

Nu kommer den att välja exakt tredje ark.

Exempel # 2 - Välj kalkylblad efter namn
Att välja arken med namn deras namn är det korrekta sättet att hänvisa arket. Om vi till exempel vill välja arket "Kalkylblad 3" kan du använda nedanstående kod.
Koda:
Underarbetsblad_Exempel2 () Kalkylblad ("Kalkylblad 3"). Välj Avsluta sub

Detta kommer att välja exakt ark; det spelar ingen roll var den placeras i arbetsboken.

Men om du försökte komma åt kartbladet med "Kalkylark" -objektet får vi "Prenumeration utanför räckvidd."
Koda:
Underarbetsblad_Exempel2 () Kalkylblad ("Diagramblad 1"). Välj Avsluta

Kör den här koden via F5-tangenten eller manuellt och se resultatet.

Exempel # 3 - Problem med kalkylbladets namn
Det finns ytterligare ett problem med att hänvisa arken till dess namn. Om någon ändrar kalkylbladets namn, får vi igen "Felet prenumeration utanför räckvidden."
För att lösa detta problem, gå till Visual Basic Editor genom att trycka på ALT + F11- tangenten.

Välj nu arknamnet och tryck på F4- tangenten för att se egenskaperfönstret.

I dessa egenskaper ändrar fönstret namnet på kalkylbladet till ditt namn.

En intressant sak här är även om vi har ändrat kalkylbladets namn från "Kalkylblad 1" till "WS1", men vi kan fortfarande se samma namn i arbetsboken.

Nu kan vi hänvisa detta blad med “WS1” namn.
Koda:
Sub Worksheet_Example2 () Worksheets ("WS1"). Välj End Sub

Nu spelar det ingen roll vem som ändrar kalkylbladets namn. Ändå hänvisar vår kod till samma ark så länge det inte ändras i Visual Basic Editor.
Exempel # 4 - Hämta antalet ark i arbetsboken
Ett kalkylblad är ett objekt, och vi kan använda alla egenskaper och metoder som är associerade med det. Vad gör vi med kalkylblad?
Vi infogar kalkylblad. Vi byter namn på kalkylblad. Vi tar bort kalkylblad och många andra saker vi gör med det.
Ange objektet "Kalkylblad" och sätt en punkt för att se alla alternativ med dem.

För att få antalet kalkylblad, använder VBA Count Property.
Koda:
Sub Worksheet_Example3 () Dim i så länge i = Worksheets.Count MsgBox i End Sub

Detta visar antalet kalkylblad.


Även om det finns 5 ark har vi räknat som 3 eftersom de andra 2 arken är kartblad.
Använd objektet ”Ark” för att få det totala antalet ark.
Koda:
Underarbetsblad_Exempel3 () Dim i så länge i = Ark. Räkna MsgBox i Avsluta sub

Detta visar det totala antalet ark.


Exempel nr 5 - Metoder som använder kalkylbladets objekt
När vi har angett kalkylarkobjektet kan vi komma åt alla egenskaper och objekt som är associerade med det. Vi kan lägga till ett nytt ark. Vi kan radera etc.
För att lägga till nytt ark.
Kalkylblad. Lägg till
För att ta bort kalkylblad
Kalkylblad (“Sheet Name”). Radera
För att ändra kalkylbladets namn
Kalkylblad ("Sheet Name"). Namn = "New Name"