Znajdź i zamień funkcję w VBA
Jeśli Twoja praca w programie Excel wymaga rutynowych zadań, znajdowania czegoś i zastępowania tego czymś, potrzebujesz tego artykułu za wszelką cenę. Ponieważ po przeczytaniu tego artykułu prawdopodobnie zaoszczędziłbyś 80% swojego czasu, ucząc się tej techniki kodowania VBA. Znajdź i zamień w Excelu jest często używanym narzędziem i możemy to samo zaimplementować również w VBA. W naszym wcześniejszym artykule „VBA Find” pokazaliśmy, jak używać metody FIND w języku VBA. W tym artykule pokażemy, jak używać metody „Znajdź i zamień” języka VBA.
Postępuj zgodnie z artykułem, aby nauczyć się tej techniki.
![](https://cdn.know-base.net/4243297/vba_find_and_replace_how_to_find_replace_words_in_excel_vba_.jpg.webp)
VBA Znajdź i zamień składnię
Aby skorzystać z metody Znajdź i zamień w VBA, musimy wykonać poniższe kroki. Najpierw wybraliśmy zakres komórek, więc wspomnij o zakresie komórek, używając obiektu RANGE w VBA.
![](https://cdn.know-base.net/4243297/vba_find_and_replace_how_to_find_replace_words_in_excel_vba__2.jpg.webp)
Teraz umieść kropkę (.), Aby wyświetlić listę IntelliSense.
![](https://cdn.know-base.net/4243297/vba_find_and_replace_how_to_find_replace_words_in_excel_vba__3.jpg.webp)
Wybierz z listy metodę Zastąp.
![](https://cdn.know-base.net/4243297/vba_find_and_replace_how_to_find_replace_words_in_excel_vba__4.jpg.webp)
Widzimy ogromną listę parametrów metody Replace. Teraz zobaczymy poniżej wyjaśnienie każdego parametru.
- Co: To nic innego, jak tylko to, co musimy znaleźć, aby zastąpić wartość.
- Zastąpienie: Przy znalezionej wartości, jaka powinna być nowa wartość do zastąpienia.
- Spójrz na: To jest wzmianka, czy chcemy spojrzeć na całą zawartość, czy tylko na jej część. W tym miejscu możemy podać dwa parametry „xlWhole” i „xlPart”.
- Kolejność wyszukiwania: w tym miejscu mowa o kolejności wyszukiwania, w wierszach lub kolumnach. W tym miejscu możemy podać dwa parametry „xlByRows” i „xlByColumns”.
- Dopasuj wielkość liter: treść, której szukamy, jest wrażliwa na wielkość liter lub nie. Jeśli argument uwzględniający wielkość liter ma wartość PRAWDA lub FAŁSZ.
- Format wyszukiwania: możemy również przeszukiwać zawartość według formatowania szukanej wartości.
- Zastąp format: Możemy również zastąpić jeden format innym formatem.
Przykłady funkcji Znajdź i zamień VBA w programie Excel
Poniżej znajduje się kilka przykładów metody Znajdź i zamień Excel VBA.
Przykład # 1 - VBA Znajdź i zamień słowo
Ok, spójrzmy na następujący przykład, aby zrozumieć metodę znajdowania i zamieniania VBA. Spójrz na poniższe dane.
![](https://cdn.know-base.net/4243297/vba_find_and_replace_how_to_find_replace_words_in_excel_vba__5.jpg.webp)
Krok 1: Najpierw wspomnij o zakresie komórek, które wymieniamy. W tym przykładzie Zakres obejmuje zakres od A1 do B15, więc kod będzie miał wartość Range („A1: B15”).
Kod:
Sub Replace_Example1 () Range („A1: B15”) End Sub
![](https://cdn.know-base.net/4243297/vba_find_and_replace_how_to_find_replace_words_in_excel_vba__6.jpg.webp)
Krok 2: Teraz umieść kropkę, aby wyświetlić listę IntelliSense.
![](https://cdn.know-base.net/4243297/vba_find_and_replace_how_to_find_replace_words_in_excel_vba__7.jpg.webp)
Krok 3: Wybierz metodę Replace z listy IntelliSense.
![](https://cdn.know-base.net/4243297/vba_find_and_replace_how_to_find_replace_words_in_excel_vba__8.jpg.webp)
Krok 4: wpisz jaki parametr jako „wrzesień”.
Kod:
Zakres („A1: B15”). Zastąp Co: = „Wrzesień”
![](https://cdn.know-base.net/4243297/vba_find_and_replace_how_to_find_replace_words_in_excel_vba__9.jpg.webp)
Krok 5: Następnie parametr Zamień na powinien być naszą nową wartością, którą zastępujemy, np. „Grudzień”.
Kod:
Zakres („A1: D4”). Zastąp Co: = „Wrzesień”, Zastąpienie: = „Grudzień”
![](https://cdn.know-base.net/4243297/vba_find_and_replace_how_to_find_replace_words_in_excel_vba__10.jpg.webp)
Ok, na razie zignoruj wszystkie inne parametry. Teraz uruchom kod VBA, aby zobaczyć metodę zamiany za pomocą VBA.
![](https://cdn.know-base.net/4243297/vba_find_and_replace_how_to_find_replace_words_in_excel_vba_.gif)
Dlatego cały wrzesień zastąpił słowem „grudzień”.
Przykład 2 - Zastępowanie z uwzględnieniem wielkości liter
Bardziej zaawansowanym przykładem metody Znajdź i zamień VBA będzie metoda zamiany z uwzględnieniem wielkości liter. W tym przykładzie utworzyłem te przykładowe dane, jak pokazano na poniższym obrazku.
![](https://cdn.know-base.net/4243297/vba_find_and_replace_how_to_find_replace_words_in_excel_vba__11.jpg.webp)
Mamy dane dwóch komórek zapisane dużymi literami: „HELLO”. Gdziekolwiek mamy wielką literę „HELLO”, należy ją zastąpić nowym słowem „Hiii”.
Jak zwykle napisz kod, wspomnij, co znaleźć i co zamienić w pierwszej kolejności.
Kod:
Sub Replace_Example2 () Range („A1: D4”). Replace What: = „HELLO”, Replace: = „Hiii” End Sub
![](https://cdn.know-base.net/4243297/vba_find_and_replace_how_to_find_replace_words_in_excel_vba__12.jpg.webp)
Teraz dla następnego argumentu, „Dopasuj wielkość liter”, zapisz warunek jako PRAWDA.
Kod:
Zakres („A1: D4”). Zastąp Co: = „HELLO”, Zamiennik: = „Hiii”, MatchCase: = True
![](https://cdn.know-base.net/4243297/vba_find_and_replace_how_to_find_replace_words_in_excel_vba__13.jpg.webp)
Teraz uruchom kod. Zastąpi tylko wielkie litery „HELLO” na „Hiii”.
![](https://cdn.know-base.net/4243297/vba_find_and_replace_how_to_find_replace_words_in_excel_vba__2.gif)
Wyobraź sobie, że nie zastosowałeś argumentu Dopasuj wielkość liter w VBA, a wtedy całe „Hello” zostanie zastąpione „Hiii”.
![](https://cdn.know-base.net/4243297/vba_find_and_replace_how_to_find_replace_words_in_excel_vba__12.jpg.webp)
Uwaga: usunąłem tutaj argument Match Case. Domyślnie wartość argumentu MATCH CASE to FALSE.
![](https://cdn.know-base.net/4243297/vba_find_and_replace_how_to_find_replace_words_in_excel_vba__14.jpg.webp)
Jak widać na powyższym obrazku, wszystkie słowa „cześć” zastąpiono słowem „hiii”.
Tak więc za każdym razem, gdy chcemy użyć kryteriów MATCH CASE, powinniśmy zastosować argument jako „TRUE”, a domyślnie wartość tego argumentu to „FALSE”. W ten sposób możemy użyć metody „ZNAJDŹ I ZASTĄP”, aby coś znaleźć i zastąpić znalezioną wartość czymś innym.