Excel VBA to bardzo potężne narzędzie, które pozwala programowo kopiować formuły z jednego arkusza do drugiego. W tym artykule pokażemy, jak używać Excel VBA do kopiowania formuł do innego arkusza.
Najpierw utworzymy proste makro, które skopiuje formułę z jednej komórki do drugiej w tym samym arkuszu. Następnie zmodyfikujemy makro, aby skopiowało formułę do innego arkusza.
Rozpoczęcie pracy
Podczas rejestrowania makra program Excel automatycznie wygeneruje kod VBA, którego można użyć do replikacji zarejestrowanych działań. Możesz także ręcznie napisać kod VBA, aby osiągnąć te same wyniki. W tym artykule pokażemy, jak zrobić jedno i drugie.
Nagrywanie makra
Aby nagrać makro, wykonaj następujące kroki:
1. Otwórz skoroszyt zawierający arkusz z formułami, które chcesz skopiować.
2. Naciśnij przycisk „Nagraj makro” w zakładce „Programista”. Jeśli nie widzisz karty „Programista”, kliknij tutaj, aby dowiedzieć się, jak ją dodać.
3. Wprowadź nazwę makra iw razie potrzeby wybierz klawisz skrótu.
4. Kliknij „OK”.
5. Wybierz komórkę zawierającą formułę, którą chcesz skopiować.
6. Naciśnij „Ctrl” + „C”, aby skopiować wybraną komórkę.
7. Wybierz komórkę, do której chcesz wkleić skopiowaną formułę.
8. Naciśnij „Ctrl” + „V”, aby wkleić skopiowaną formułę.
9. Naciśnij przycisk „Zatrzymaj nagrywanie” w zakładce „Programista”.
Twoje makro jest teraz gotowe do użycia! Aby go uruchomić, po prostu naciśnij przypisany do niego klawisz skrótu lub kliknij przycisk „Makra” na karcie „Programista” i wybierz makro z listy.
Ręczne pisanie kodu VBA
Te same wyniki można również osiągnąć, pisząc kilka wierszy kodu VBA. Aby to zrobić, wykonaj następujące kroki:
1. Otwórz skoroszyt zawierający arkusz z formułami, które chcesz skopiować.
2. Naciśnij „Alt” + „F11”, aby otworzyć Edytor Visual Basic.
3. Kliknij „Wstaw” > „Moduł”.
4. Wprowadź do modułu następujący kod:
Sub CopyFormula()
Dim sourceRange As Range
Przyciemnij zakres docelowy jako zakres
Ustaw sourceRange = Range("A1") 'Zmień A1 na komórkę z formułą
Ustaw targetRange = Range("B1") 'Zmień B1 na żądaną komórkę wklejania
targetRange.Formula = sourceRange.Formula
Napis końcowy
5. Naciśnij „F5”, aby uruchomić kod.
Twoja formuła powinna zostać teraz skopiowana do żądanej komórki!
Modyfikowanie makra w celu skopiowania formuł do innego arkusza
Makro, które zarejestrowaliśmy w poprzedniej sekcji, skopiuje formuły tylko w tym samym arkuszu. Można go jednak łatwo zmodyfikować, aby skopiować formuły do innego arkusza. Aby to zrobić, wykonaj następujące kroki:
1. Otwórz skoroszyt zawierający arkusz z formułami, które chcesz skopiować.
2. Naciśnij „Alt” + „F11”, aby otworzyć Edytor Visual Basic.
3. Kliknij dwukrotnie swoje makro na liście po lewej stronie ekranu. Kod twojego makra pojawi się po prawej stronie.
4. Znajdź następujący wiersz kodu:
Ustaw targetRange = Range("B1") 'Zmień B1 na żądaną komórkę wklejania
5. Zmień „B1” na komórkę na drugim arkuszu, do której chcesz wkleić formułę, używając tego formatu: Nazwa Arkusza!AdresKomórki. Na przykład, jeśli chcesz wkleić formułę do komórki B2 na arkuszu o nazwie „Arkusz2”, zmień kod na następujący:
Ustaw targetRange = Sheets("Sheet2").Range("B2")
6. Naciśnij „F5”, aby uruchomić kod. Twoja formuła powinna zostać teraz skopiowana do drugiego arkusza!
Końcowe przemyślenia
Po przeczytaniu tego artykułu powinieneś już wiedzieć, jak kopiować formuły do innego arkusza za pomocą Excel VBA. Możesz użyć nagranego makra w takiej postaci, w jakiej jest, lub zmodyfikować je zgodnie z własnymi potrzebami. Jeśli chcesz dowiedzieć się więcej o Excel VBA, sprawdź nasze inne artykuły na ten temat!
To koniec samouczka.