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.
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ć.
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.
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.
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ć.
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!
Szymon M. -
Fajna sprawa! Ciekawe, czy można w VBA zautomatyzować inne funkcje w Excelu. Macie jakiekolwiek doświadczenia w tej kwestii
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.
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
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
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
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
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ć
Michał S. -
Super artykuł! Uniknę paru godzin ręcznego dodawania wierszy, dzięki tej metodzie. Polecam wszystkim, którzy dużo pracują w Excelu
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ę
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ą
Kasia SEO -
Artykuł jest naprawdę świetny! VBA w Excelu to jedno, ale czy ktoś mógłby powiedzieć, jak integrować go z innymi aplikacjami
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!
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
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!
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.
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ć
AndrzejP -
Czy ktoś z was zna jakieś dobre źródła online do nauki VBA? Chętnie skorzystam z dodatkowej wiedzy!
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!
Szymon M. -
Fajna sprawa! Ciekawe, czy można w VBA zautomatyzować inne funkcje w Excelu. Macie jakiekolwiek doświadczenia w tej kwestii
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.
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
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
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
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
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ć
Michał S. -
Super artykuł! Uniknę paru godzin ręcznego dodawania wierszy, dzięki tej metodzie. Polecam wszystkim, którzy dużo pracują w Excelu
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ę
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ą
Kasia SEO -
Artykuł jest naprawdę świetny! VBA w Excelu to jedno, ale czy ktoś mógłby powiedzieć, jak integrować go z innymi aplikacjami
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!
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
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!
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.
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ć
AndrzejP -
Czy ktoś z was zna jakieś dobre źródła online do nauki VBA? Chętnie skorzystam z dodatkowej wiedzy!