VBA Dodaj nowy arkusz - nazwa, przed / po i więcej przykładów

Ten samouczek omówi sposób dodawania / wstawiania arkuszy roboczych za pomocą VBA.

Dodaj arkusz

To proste makro doda Arkusz przed ActiveSheet:

123 Dodaj sub ()Arkusze.DodajNapis końcowy

Po wstawieniu Arkusza nowy Arkusz staje się ActiveSheet. Następnie możesz użyć obiektu ActiveSheet do pracy z nowym Arkuszem (na dole tego artykułu pokażemy, jak wstawić nowy arkusz bezpośrednio do zmiennej).

1 ActiveSheet.Name = "Nowy arkusz"

Dodaj arkusz z nazwą

Możesz również zdefiniować nazwę arkusza podczas tworzenia nowego arkusza:

1 Sheets.Add.Name = "Nowy arkusz"

Utwórz nowy arkusz z nazwą z komórki

Lub użyj wartości komórki, aby nazwać nowy arkusz:

1 Arkusze.Dod.Nazwa = zakres("a3").wartość

Dodaj arkusz przed/po innym arkuszu

Możesz także wybrać lokalizację, w której zostanie wstawiony nowy Arkusz. Możesz użyć właściwości po lub przed, aby wstawić arkusz do określonej lokalizacji w skoroszycie.

Wstaw arkusz po innym arkuszu

Ten kod wstawi nowy arkusz PO kolejnym arkuszu:

1 Sheets.Add After:=Sheets("Input")

Spowoduje to wstawienie nowego arkusza PO kolejnym arkuszu i określenie nazwy arkusza:

1 Sheets.Add(After:=Sheets("Input")).Name = "NewSheet"

Zwróć uwagę na dodatkowy nawias wymagany w drugim przykładzie (pierwszy przykład wygeneruje błąd, jeśli zostanie dodany drugi nawias).

lub przed:

1 Sheets.Add(Before:=Sheets("Input")).Name = "NewSheet"

W tych przykładach wyraźnie nazwaliśmy Arkusz używany do określenia lokalizacji arkusza. Często zamiast tego będziesz chciał użyć numeru indeksu arkusza, aby można było wstawić arkusz na początku lub na końcu skoroszytu:

Dodaj arkusz na koniec skoroszytu

Aby dodać arkusz na końcu skoroszytu:

1 Arkusze.Dodaj po:=Arkusze (Arkusze.Liczba)

Dodaj arkusz do początku skoroszytu:

Aby dodać arkusz na początku skoroszytu:

1 Sheets.Add(Before:=Sheets(1)).Name = "Pierwszy arkusz"

Dodaj arkusz do zmiennej

Ten kod przypisuje nowy arkusz do zmiennej podczas tworzenia arkusza:

12 Dim ws As WorksheetUstaw ws = Arkusze.Dodaj

Stąd możesz odwołać się do nowego arkusza za pomocą zmiennej „ws”:

1 ws.name = "Arkusz Var"

Więcej przykładów dodawania arkuszy

Utwórz arkusz, jeśli jeszcze nie istnieje

Możesz chcieć utworzyć arkusz tylko wtedy, gdy jeszcze nie istnieje.

Twórz arkusze robocze z listy nazwisk

Poniższa procedura przyjrzy się zawartości pojedynczej kolumny skonfigurowanej w arkuszach programu Excel w bieżącym skoroszycie o tych nazwach. Wykonuje wywołanie innej funkcji, aby sprawdzić, czy arkusz o tej nazwie już istnieje, a jeśli tak, arkusz nie został utworzony.

1234567891011121314151617181920212223242526 Prywatna Sub CommandButton1_Click()Wywołaj CreateWorksheets(Sheets("Sheet2").Range("A1:a10"))Napis końcowySub CreateWorksheets (Names_Of_Sheets As Range)Dim No_Of_Sheets_to_be_Added jako liczba całkowitaDim nazwa_arkusza jako ciągDim i jako liczba całkowitaNo_Of_Sheets_to_be_Added = Nazwy_Arkuszy.Wiersze.LiczbaDla i = 1 do liczby arkuszy do dodaniaNazwa_arkusza = Nazwy_Arkuszy.Komórki(i,1)).Wartość'Dodaj arkusz tylko wtedy, gdy jeszcze nie istnieje, a nazwa jest dłuższa niż zero znakówJeśli (Arkusz_Istnieje(Arkusz_Nazwa) = False) I (Arkusz_Nazwa "") WtedyWorksheets.Add().Name = Sheet_NameZakończ, jeśliDalej jaNapis końcowy
1234567891011121314 Arkusz funkcji istnieje(Nazwa arkusza roboczego jako ciąg) jako BooleanDim Work_sheet jako WorksheetArkusz_Istnieje = FałszDla każdego Work_sheet w ThisWorkbook.WorksheetsJeśli Work_sheet.Name = Worksheet_Name ThenArkusz_Istnieje = PrawdaZakończ, jeśliNastępnyKoniec funkcji

Jeśli więc mamy następujący tekst w komórkach A1:A30 w arkuszu 2:

Następnie zostaną utworzone następujące arkusze:

Zwróć uwagę, że chociaż „Pies” pojawia się dwukrotnie, tworzony jest tylko jeden arkusz.

Aby pobrać plik .XLS do tego samouczka, kliknij tutaj.

Będziesz pomóc w rozwoju serwisu, dzieląc stronę ze swoimi znajomymi

wave wave wave wave wave