Excel VBA Funkcja zamiany

Podobnie jak w programie Excel, mamy funkcję, w której możemy znaleźć i zamienić dowolne słowo, znak lub zdanie na dowolną literę. Ale dzięki temu procesowi możemy zastąpić tylko jeden rodzaj zdania lub litery na raz. Za pomocą funkcji VBA Replace możemy zamienić tyle słów, liter lub zdań w jednym ujęciu. To oszczędza ogromny czas i wysiłek, wykonując wiele czynności wielokrotnie. W tym celu użyjemy funkcji Zamień, która znajduje się na wbudowanej liście funkcji VBA.

Poniżej składni i argumentu funkcji Zamień w VBA.

Jak korzystać z funkcji zamiany Excel VBA?

Dowiemy się, jak korzystać z funkcji VBA Zastąp Excel z kilkoma przykładami.

Możesz pobrać ten VBA Zamień szablon Excel tutaj - VBA Zamień szablon Excel

Funkcja zamiany VBA - Przykład nr 1

Mamy przykładowe dane niektórych zdań, w których zastąpimy jedno słowo i wkleimy to zaktualizowane zdanie w kolumnie Zdanie B.

Wykonaj poniższe kroki, aby użyć funkcji Zamień w Excel VBA.

Krok 1: Przejdź do VBA i na karcie menu Wstaw wybierz Moduł.

Krok 2: Teraz napisz podkategorię w nazwie wykonywanej funkcji lub w dowolnej nazwie zgodnie z twoim wyborem, jak pokazano poniżej.

Kod:

 Sub VBA_Replace2 () End Sub 

Krok 3: Teraz zdefiniuj wymiar jako Długi, ponieważ będziemy wybierać pełne zdanie. Tutaj przyjęliśmy to jako X.

Kod:

 Sub VBA_Replace2 () Dim X As Long End Sub 

Krok 4: Teraz w tym długim X wybierz maksymalny zakres do momentu, w którym nasze dane mogą wzrosnąć. Tutaj przyjęliśmy jako zakres komórek A1000 i do przechodzenia w górę, aż nasze dane zaczną używać End (xlUp), a następnie wiersz kropki (.). Co oznacza, że ​​będziemy poruszać się w górę w tej samej kolumnie, aż do tego wiersza, który zawiera dane. Ten proces w życiu Ctrl + klawisz strzałki w górę w programie Excel.

Kod:

 Sub VBA_Replace2 () Dim X As Long X = Range ("A1000"). End (xlUp). Row End Sub Sub 

Uwaga : Możemy wybrać opcję End (xlDown), ale nie może dodawać żadnych przerw ani pustych komórek między danymi, jeśli dane mają.

Krok 5: Teraz ponownie zdefiniuj jeszcze jeden wymiar Y tak długi, jak pokazano poniżej.

Kod:

 Sub VBA_Replace2 () Dim X As Long X = Range ("A1000"). End (xlUp). Row Dim Y As Long End Sub 

Krok 6: Teraz uruchom pętlę For Next dla drugiego zdefiniowanego wymiaru Y od pozycji komórki 2 do zakresu X (ostatnia wypełniona komórka)

Uwaga: wybranie komórki 2 oznacza, że ​​nie rozważamy tutaj nagłówka do zamiany.

Kod:

 Sub VBA_Replace2 () Dim X As Long X = Range ("A1000"). End (xlUp). Row Dim Y As Long For Y = 2 To X Next Y End Sub 

Krok 7: Teraz wybierz wartość kolumny B jako zakres jako Y, a następnie kropkę (.) To jak wstawienie funkcji w programie Excel.

Kod:

 Sub VBA_Replace2 () Dim X As Long X = Range ("A1000"). End (xlUp). Row Dim Y As Long For Y = 2 To X Range ("B" & Y). Value = Next Y End Sub 

Krok 8: Teraz, jak widzieliśmy w składni VBA funkcji Zamień powyżej, teraz wpisz Zamień i wybierz Kolumnę A i Y jako pierwsze wyrażenie ciągu, a następnie słowa, które musimy zastąpić z tabeli.

Kod:

 Sub VBA_Replace2 () Dim X As Long X = Range („A1000”). End (xlUp). Row Dim Y As Long For Y = 2 To X Range („B” i Y). Wartość = Replace (Range („A „& Y), „ Delhi ”, „ New Delhi ”) Następny Y End Sub 

Krok 9: Teraz skompiluj cały kod i uruchom. Gdy to zrobimy, słowo „Delhi” z zdania A zostanie zastąpione dziełem „New Delhi”, a całe zdanie zostanie skopiowane do zdania B.

Możemy wybrać ciąg słów lub zdania i zastąpić je dowolnymi wymaganymi literami lub zdaniami.

Funkcja zamiany VBA - Przykład 2

Istnieje inny sposób zamiany słów lub zdań za pomocą kodowania VBA. W tym celu mamy listę 7 tematów, które się powtarzają. I musimy zastąpić te nazwy podmiotów dodając numery seryjne przed nazwą każdego przedmiotu, jak pokazano poniżej.

Jak widać na powyższym zrzucie ekranu, kolumna E ma unikalne nazwy tych podmiotów, które są tam w kolumnie B, a kolumna F ma nazwy podmiotów z numerem seryjnym na początku.

Wykonaj poniższe kroki, aby użyć funkcji Zamień w VBA.

Krok 1: Teraz przejdź do VBA i z menu Wstaw dodaj nowy moduł. Gdy go otrzymamy, zacznij pisać podkategorię w nazwie funkcji, która jest wykonywana, jak pokazano poniżej.

Kod:

 Sub VBA_Replace () End Sub 

Krok 2: Teraz rozważ wymiar Rng jako zakres, InputRng jako zakres i ReplaceRng jako zakres. Możesz wybrać dowolne inne litery lub słowa do zdefiniowania zakresów.

Kod:

 Sub VBA_Replace () Dim Rng As Range Dim InputRng As Range, ReplaceRng As Range End Sub 

Krok 3: Teraz użyj xTitleId jako okna dialogowego i nadaj mu nazwę. Tutaj nazwaliśmy go „ VBA_Replace ”.

Kod:

 Sub VBA_Replace () Dim Rng As Range Dim InputRng As Range, ReplaceRng As Range xTitleId = „VBA_Replace” End Sub 

Krok 4: Teraz przypisz Application.Selection za pomocą InputRng, umożliwi to użycie wybranej aplikacji w VBA.

Kod:

 Sub VBA_Replace () Dim Rng As Range Dim InputRng As Range, ReplaceRng As Range xTitleId = „VBA_Replace” Set InputRng = Application.Selection End Sub Sub 

Krok 5: Teraz w następnym wierszu wstaw InputBox 3 typów, Original range, xTitleId i InputRng. Pierwotny zakres to lista tematów potrzebnych do zastąpienia, wymieniona w kolumnie B. xTitledId to nazwy okien dialogowych w wykonywanej funkcji. InputRng to zakres tabeli danych w kolumnach E i F.

Kod:

 Sub VBA_Replace () Dim Rng As Range Dim InputRng As Range, ReplaceRng As Range xTitleId = „VBA_Replace” Set InputRng = Application.Selection Set InputRng = Application.InputBox („Original Range”, xTitleId, InputRng.Address, Typ: = 8) Napis końcowy 

Krok 6: Teraz w następnym wierszu przypisz dane wejściowe dla ReplaceRng i dla tego wybierz kolumnę Zamień zakres. Reszta to samo.

Kod:

 Sub VBA_Replace () Dim Rng As Range Dim InputRng As Range, ReplaceRng As Range xTitleId = „VBA_Replace” Set InputRng = Application.Selection Set InputRng = Application.InputBox („Original Range”, xTitleId, InputRng.Address, Typ: = 8) Ustaw ReplaceRng = Application.InputBox („Replace Range:”, xTitleId, Type: = 8) End Sub 

Krok 7: Teraz użyjemy funkcji Application.Screenupdating, ponieważ nazwa mówi, że jest używana do aktualizacji, jeśli jest FAŁSZ.

Kod:

 Sub VBA_Replace () Dim Rng As Range Dim InputRng As Range, ReplaceRng As Range xTitleId = „VBA_Replace” Set InputRng = Application.Selection Set InputRng = Application.InputBox („Original Range”, xTitleId, InputRng.Address, Typ: = 8) Ustaw ReplaceRng = Application.InputBox („Replace Range:”, xTitleId, Type: = 8) Application.ScreenUpdating = False End Sub 

Krok 8: Teraz wstaw pętlę For-Next . I dla każdego zakresu Rng zamień wartości z kolumny ReplaceRng.

Kod:

 Sub VBA_Replace () Dim Rng As Range Dim InputRng As Range, ReplaceRng As Range xTitleId = „VBA_Replace” Set InputRng = Application.Selection Set InputRng = Application.InputBox („Original Range”, xTitleId, InputRng.Address, Typ: = 8) Ustaw ReplaceRng = Application.InputBox („Replace Range:”, xTitleId, Type: = 8) Application.ScreenUpdating = Fałsz dla każdego Rng w ReplaceRng.Columns (1). Komórki Następny koniec Sub 

Krok 9: W końcu zastąp InputRng wartościami obecnymi w Rng z całego arkusza.

Kod:

 Sub VBA_Replace () Dim Rng As Range Dim InputRng As Range, ReplaceRng As Range xTitleId = „VBA_Replace” Set InputRng = Application.Selection Set InputRng = Application.InputBox („Original Range”, xTitleId, InputRng.Address, Typ: = 8) Ustaw ReplaceRng = Application.InputBox („Replace Range:”, xTitleId, Type: = 8) Application.ScreenUpdating = False dla każdego Rng w ReplaceRng.Columns (1) .Cells InputRng.Replace what: = Rng.Value, replace: = Rng.Offset (0, 1) .Value, Lookat: = xlWhole Next End Sub 

Krok 10: Po zakończeniu skompiluj i uruchom kod. Otrzymamy i okno dialogowe w imieniu VBA_Replace. Stąd wybierz listę tematów, które musimy zastąpić jako zakres oryginalny i kliknij OK. Następnie dostaniemy stamtąd kolejne okno i wybierz Zamień zakres od E2 do F8 . Ta tabela zawiera dane, które należy wymienić i kliknąć OK.

Otrzymamy Dane w kolumnie B, które zostaną zastąpione danymi w kolumnie F numerem seryjnym.

Podsumowując, kolumna E ma unikalne nazwy podmiotów. A kolumna F ma nazwy podmiotów z numerami seryjnymi. Zatem przez te dane w kolumnie B zastępuje się dane w kolumnie F.

Plusy funkcji VBA Replace

  • Możemy zamienić wiele słów lub zdań w jednym ujęciu.
  • Nie ma limitu słów lub tekstu, którego nie możemy zastąpić.
  • Składnia zamiany w VBA jest tak prosta, jak użycie funkcji SumIf w programie Excel.
  • Wymiana VBA, jak pokazano w przykładzie 1, jest najłatwiejszym sposobem zastosowania.

Rzeczy do zapamiętania

  • Zapisz jako Excel z włączonym programem Marco, aby uniknąć utraty napisanego kodu w VBA.
  • Zawsze bierz pod uwagę wymiary w taki sposób, aby tworzyły wartość dodaną, gdy wybieramy te w kodzie.
  • Upewnij się, że wybrałeś cały zakres arkusza, jak pokazano w przykładzie 2, jeśli jest ograniczony do uzyskania wyniku. Albo możesz zdefiniować i wybrać ograniczony zakres komórek, który byłby używany w funkcji Zamień.

Polecane artykuły

Jest to przewodnik po funkcji VBA Replace. Tutaj omawialiśmy VBA Zamień i jak korzystać z Excel VBA Zamień funkcję wraz z praktycznymi przykładami i szablonem Excel do pobrania. Możesz także przejrzeć nasze inne sugerowane artykuły -

  1. Ukończ samouczki na temat pętli VBA
  2. Jak korzystać z VBA Do While Loop?
  3. Co to jest format liczb VBA?
  4. Jak stworzyć VBA MsgBox?

Kategoria: