Jak używać języka VBA do wstawiania wierszy w programie Excel: 3 niezawodne metody

Aby wstawić wiersze w programie Excel za pomocą języka VBA, należy użyć tej Insertmetody w wierszu arkusza kalkulacyjnego. Trzy poniższe przykłady obejmują dodanie jednego lub kilku pustych wierszy, wstawienie kopii istniejącego wiersza oraz utworzenie pustego wiersza bez dziedziczenia formatowania. Każde makro dotyczy arkusza kalkulacyjnego o nazwie Data; zastąp tę nazwę dokładną nazwą karty w skoroszycie.

Krok 1: Przygotuj skoroszyt i otwórz edytor VBA

Użyj wersji Excela na komputery stacjonarne. Excel dla sieci Web może otwierać skoroszyty zawierające makra, ale nie umożliwia tworzenia, edytowania ani uruchamiania makr VBA. Jeśli skoroszyt zawiera ważne dane, zapisz kopię zapasową przed uruchomieniem kodu, ponieważ wstawianie wierszy przesuwa wiersze poniżej punktu wstawiania.

W systemie Windows naciśnij Alt+F11 , aby otworzyć Edytor Visual Basic (VBE). Możesz również wybrać Deweloper > Visual Basic . W VBE wybierz Wstaw > Moduł , a następnie wklej makro do pustego modułu. Instrukcje VBE firmy Microsoft pokazują ten sam przepływ pracy z modułami.

Program Excel i Edytor Visual Basic z otwartym Modułem 1 i makrem wstawiającym wiersz 4 do arkusza danych.
Otwórz standardowy moduł VBA w Edytorze Visual Basic, aby dodać makro.

Krok 2: Wybierz jedną z trzech metod wstawiania wierszy

Metoda 1: Wstaw jeden lub więcej pustych wierszy

Ta makroinstrukcja wstawia cały wiersz arkusza kalkulacyjnego powyżej bieżącego wiersza nr 4. Shift:=xlDownArgument nakazuje programowi Excel przesunięcie istniejących komórek w dół, aby zrobić miejsce. Odwołanie do Range.Insert dokumentuje opcje przesunięcia i formatowania.

Sub InsertOneRow()
    ThisWorkbook.Worksheets("Data").Rows(4).Insert Shift:=xlDown
End Sub

Aby wstawić dwa wiersze zaczynające się nad wierszem 3, należy zamiast tego użyć zakresu wierszy:

Sub InsertTwoRows()
    ThisWorkbook.Worksheets("Data").Rows("3:4").Insert Shift:=xlDown
End Sub

Wiersze 3 i 4 zostaną wstawione, a wiersze, które tam były, zostaną przesunięte w dół. Zmień numery wierszy, aby wybrać miejsce rozpoczęcia nowych wierszy i liczbę wierszy do dodania. Odwołanie ThisWorkbookoznacza, że ​​makro powinno być zapisane w skoroszycie, który chcesz zmienić.

Arkusz kalkulacyjny programu Excel z dwoma pustymi wierszami wstawionymi między wierszami Alpha i Bravo, przesuwając późniejsze rekordy w dół.
Wstawienie wierszy 3 i 4 powoduje utworzenie dwuwierszowej przerwy i przesunięcie istniejących rekordów w dół.

Metoda 2: Wstaw kopię istniejącego wiersza

Użyj tej wersji, gdy nowy wiersz ma powtórzyć wartości, formuły i formatowanie istniejącego wiersza. Najpierw tworzy ona odstęp w wierszu 6, a następnie kopiuje wiersz 2 do tego nowego odstępu. Pierwotny wiersz 2 pozostaje na swoim miejscu. Firma Microsoft dokumentuje opcjonalny argument „destination” w odwołaniu do funkcji Range.Copy .

Sub InsertCopyOfRow()
    With ThisWorkbook.Worksheets("Data")
        .Rows(6).Insert Shift:=xlDown
        .Rows(2).Copy Destination:=.Rows(6)
    End With
End Sub

Zastąp 2numerem wiersza źródłowego i 6wierszem, w którym powinien pojawić się duplikat. Ponieważ cały wiersz jest kopiowany, sprawdź formuły i odwołania w wstawionej kopii, zanim na niej skorzystasz.

Arkusz kalkulacyjny programu Excel z kopią wiersza Alfa wstawioną w wierszu 6, podczas gdy wiersz źródłowy pozostaje na swoim miejscu.
Skopiowany wiersz Alfa pojawia się w wierszu 6; wiersz źródłowy pozostaje w wierszu 2.

Metoda 3: Wstaw wiersz bez kopiowanego formatowania

Excel może przenieść formatowanie z sąsiedniego wiersza do wstawionego wiersza. Wstaw wiersz, a następnie wywołaj ClearFormatsgo, aby usunąć to formatowanie:

Sub InsertUnformattedRow()
    With ThisWorkbook.Worksheets("Data")
        .Rows(3).Insert Shift:=xlDown
        .Rows(3).ClearFormats
    End With
End Sub

Ta opcja czyści formatowanie w całym wstawionym wierszu arkusza kalkulacyjnego. Nie usuwa wartości w innych wierszach. Opis tej metody znajduje się w dokumentacji ClearFormats firmy Microsoft.

Arkusz kalkulacyjny programu Excel z prostym, pustym wierszem 3 i kodem VBA wywołującym EntireRow.Insert i ClearFormats.
ClearFormats usuwa odziedziczone formatowanie komórek z wstawionego wiersza.

Krok 3: Uruchom makro i sprawdź wynik

Wróć do VBE, umieść kursor w dowolnym miejscu procedury, którą chcesz uruchomić, i naciśnij klawisz F5 . Możesz również wrócić do programu Excel i użyć opcji Deweloper > Makra , zaznaczyć nazwę makra i wybrać polecenie Uruchom . Dostępne opcje znajdziesz w podręczniku firmy Microsoft dotyczącym uruchamiania makr w programie Excel .

Przed zapisaniem sprawdź, czy oczekiwany wiersz lub wiersze zostały wstawione do odpowiedniego arkusza. Jeśli chcesz zachować kod VBA w skoroszycie, zapisz go jako skoroszyt programu Excel z obsługą makr (.xlsm) . Zapisanie w zwykłym .xlsxpliku nie zachowuje makr VBA. Firma Microsoft wyjaśnia to w swoich instrukcjach dotyczących zapisywania makr . Uruchamiaj makra tylko z zaufanych źródeł i przestrzegaj zasad bezpieczeństwa makr obowiązujących w Twojej organizacji.

Typowe problemy

  • „Indeks dolny poza zakresem”: Nazwa arkusza w kodzie nie odpowiada dokładnie nazwie zakładki. Zaktualizuj "Data", uwzględniając spacje, jeśli zakładka je zawiera.
  • Wiersze pojawiają się w niewłaściwym skoroszycie: Kod używa ThisWorkbook, który odnosi się do pliku zawierającego makro. Zapisz moduł w skoroszycie, który zamierzasz edytować.
  • Nic nie działa w przeglądarce: Otwórz plik w programie Excel na komputerze stacjonarnym. Makr VBA nie można uruchamiać w programie Excel dla sieci Web. Zapoznaj się z poradnikiem Microsoft dotyczącym języka VBA w programie Excel dla sieci Web .

ListRows.AddTe przykłady wstawiają całe wiersze arkusza kalkulacyjnego. Jeśli dane są tabelą programu Excel i chcesz dodać rekord tabeli, użyj metody tabeli, aby nowy wpis należał do tabeli.

(18) Komentarze

  1. Ania Wrocław -

    Odkryłam ten artykuł przypadkiem i jestem zachwycona! Kto by pomyślał, że VBA w Excelu może być takie proste. Dziękuję za pomoc!

  2. Szymon M. -

    Fajna sprawa! Ciekawe, czy można w VBA zautomatyzować inne funkcje w Excelu. Macie jakiekolwiek doświadczenia w tej kwestii

  3. Maciek 4567 -

    Ostatnio miałem problem z dodawaniem wierszy w Excelu i dzięki temu poradnikowi udało mi się go rozwiązać. Super, że jest tak prosto pokazane, z pewnością wrócę do tego.

  4. Darek the Best -

    Nigdy wcześniej nie brałem się za VBA, ale ten artykuł zainspirował mnie. Jak myślicie, czy warto spróbować pisać własne skrypty

  5. OlgaKot -

    To genialne! Nie miałam pojęcia, że VBA może tak ułatwić pracę. Na pewno przetestuję to w moim projekcie. Dzięki

  6. Kasia Kowalska -

    Świetny artykuł! Używanie VBA do wstawiania wierszy w Excelu to naprawdę przydatna umiejętność. Dziękuję za jasne i przystępne kroki

  7. Tomek890 -

    Wow, mógłbym używać tego w mojej pracy codziennie! Dzięki za podział się wiedzą, to na pewno mi pomoże w oszczędzaniu czasu

  8. Roberts IT -

    Świetne wprowadzenie do VBA! Dowiedziałem się, jak wstawiać wiersze, ale mam pytanie – co zrobić, gdy chcę kopiować formatowanie z wierszy? Jak to ujarzmić

  9. Michał S. -

    Super artykuł! Uniknę paru godzin ręcznego dodawania wierszy, dzięki tej metodzie. Polecam wszystkim, którzy dużo pracują w Excelu

  10. Hania Kod -

    Dzięki za kod, który można wkleić. Zdecydowanie spróbuję go w moim Excelu, a jeśli będę miała pytania, to się odezwę

  11. Henia B. -

    To jest to, czego szukałam! Wstawianie wierszy w ten sposób naprawdę mi pomoże w mojej pracy biurowej. Dobrze wiedzieć, że są ludzie, którzy dzielą się wiedzą

  12. Kasia SEO -

    Artykuł jest naprawdę świetny! VBA w Excelu to jedno, ale czy ktoś mógłby powiedzieć, jak integrować go z innymi aplikacjami

  13. Ela z Torunia -

    Aż się śmieje, bo myślałam, że VBA to coś dla programistów, a tu proszę – tak bardzo pomocne! Dziękuję za tak prosty przewodnik!

  14. Krystian K. -

    Miałem problem z dodawaniem wierszy i myślałem, że VBA to zbyt skomplikowane. Przy tym tutorialu, czuję, że mogę zrobić to samodzielnie

  15. Sofia 22 -

    Szczerze mówiąc, nie myślałem, że VBA może być takie proste. Po przeczytaniu tej instrukcji czuję się zmotywowany, żeby spróbować więcej!

  16. Wojtek123 -

    Czy mógłbyś podać więcej przykładów dotyczących zastosowania VBA? Ciekawi mnie, jak można je wykorzystać w bardziej zaawansowanych scenariuszach.

  17. Aga L. -

    Czy ktoś zna inne triki z VBA w Excelu? Uwielbiam te skróty, a może są inne ciekawe komendy, które warto znać

  18. AndrzejP -

    Czy ktoś z was zna jakieś dobre źródła online do nauki VBA? Chętnie skorzystam z dodatkowej wiedzy!

Zostaw komentarz

Jak przenieść obraz w programie Microsoft Word

Jak przenieść obraz w programie Microsoft Word

Dowiedz się, jak przeciągać obraz w programie Word, wybierać opcje zawijania tekstu, zachowywać go w akapicie lub mocować na stronie oraz rozwiązywać problemy z obrazami, których nie można przenieść.

Jak wstawić pole wyboru w programie Excel: dwie proste metody

Jak wstawić pole wyboru w programie Excel: dwie proste metody

Dowiedz się, jak wstawić pole wyboru w programie Excel za pomocą narzędzia w komórce, zliczyć zaznaczone elementy za pomocą formuł lub dodać powiązany formant formularza w starszych wersjach programu na komputery stacjonarne.

Jak automatycznie wypełniać litery w programie Excel: od A do Z i dalej

Jak automatycznie wypełniać litery w programie Excel: od A do Z i dalej

Generuj litery od A do Z, małe litery lub etykiety powyżej Z w programie Excel za pomocą formuły z uchwytem wypełniania, SEKWENCJI lub wielokrotnego użytku listy niestandardowej.

Jak przekreślić tekst w programie Excel: skróty i metody krok po kroku

Jak przekreślić tekst w programie Excel: skróty i metody krok po kroku

Dowiedz się, jak przekreślać wiersze w programie Excel w systemie Windows, na komputerze Mac i w przeglądarce, formatować część komórki i usuwać wiersze bez usuwania ich wartości.

Czym jest Microsoft Access? Jak działają jego narzędzia bazodanowe

Czym jest Microsoft Access? Jak działają jego narzędzia bazodanowe

Microsoft Access to aplikacja bazy danych systemu Windows do przechowywania powiązanych rekordów, tworzenia zapytań, tworzenia formularzy wprowadzania danych i generowania raportów. Dowiedz się, jak działa i kiedy się sprawdza.

Importowanie i eksportowanie danych z programu Office Outlook 2010: przenoszenie danych za pomocą pliku PST

Importowanie i eksportowanie danych z programu Office Outlook 2010: przenoszenie danych za pomocą pliku PST

Dowiedz się, jak zaimportować plik PST do programu Outlook 2010 lub wyeksportować pocztę, kontakty, kalendarz i zadania. Postępuj zgodnie z odpowiednimi menu i unikaj pominiętych folderów lub duplikatów.

Zmiana wysokości i szerokości linii siatki w programie Word 2010

Zmiana wysokości i szerokości linii siatki w programie Word 2010

Dowiedz się, jak dostosować wysokość i szerokość linii siatki w programie Word 2010, zmienić widoczną częstotliwość linii oraz ustawić odstępy między liniami siatki w pionie i w poziomie.

Jak wstawić aktywną stronę internetową do slajdu programu PowerPoint

Jak wstawić aktywną stronę internetową do slajdu programu PowerPoint

Za pomocą dodatku LiveWeb możesz umieścić witrynę internetową na slajdzie programu PowerPoint, ustawić jej rozmiar i sposób odświeżania oraz sprawdzić zgodność przed prezentacją.

Odzyskiwanie hasła PST programu Outlook za pomocą jądra Nucleus

Odzyskiwanie hasła PST programu Outlook za pomocą jądra Nucleus

Odzyskaj zapomniane hasło PST programu Outlook, korzystając z bieżących instrukcji Kernela, obejmujących m.in. identyfikację właściwego pliku, wykonanie kopii zapasowej i sprawdzenie ograniczeń narzędzia.

Dodaj święta narodowe do kalendarza Outlook

Dodaj święta narodowe do kalendarza Outlook

Dodaj święta krajowe w nowym Outlooku, Outlooku w przeglądarce lub klasycznej wersji Outlooka. Dowiedz się, jak unikać duplikatów wydarzeń i sprawdzać, czy nie brakuje dat z lat 2026–2027.