Excel VBA: Jak zastąpić tekst w ciągu (5 skutecznych sposobów)

  • Udostępnij To
Hugh West

Jeśli szukasz sposobów na zastąpić tekst w łańcuchu przy użyciu programu Excel VBA Zastąpienie określonego fragmentu tekstu może zaoszczędzić sporo czasu na ponowne wpisywanie ciągów tekstowych. Przejdźmy więc do głównego artykułu, aby poznać szczegóły dotyczące tego zadania zastępowania.

Pobierz Workbook

Zamień tekst w String.xlsm

5 sposobów na zastąpienie tekstu w łańcuchu za pomocą programu Excel VBA

Mamy tutaj następujący zbiór danych zawierający kilka rekordów pracowników z ich identyfikatorami e-mail. Naszym zadaniem jest zastąpienie starych nazw domen nowymi. W poniższych metodach będziemy pracować z tym zbiorem danych wraz z kilkoma losowymi ciągami tekstowymi, aby zastąpić pożądany tekst VBA kody.

Użyliśmy Microsoft Excel 365 wersja tutaj, możesz użyć dowolnych innych wersji według swojej wygody.

Metoda-01: Zamień tekst zaczynający się od n-tej pozycji losowego ciągu znaków

Tutaj zastąpimy tekst w losowym ciągu tekstowym dla różnych pozycji początkowych.

Krok-01 :

➤ Idź do Deweloper Tab>> Kod Grupa>> Visual Basic Opcja.

Następnie. Edytor Visual Basic otworzy się.

➤ Idź do Wkładka Tab>> Moduł Opcja.

Po tym, a Moduł zostanie utworzony.

Step-02 :

➤ Napisz następujący kod

 Sub substytucja_tekstu_1() Dim full_txt_str, updated_str As String full_txt_str = "Sto samochodów Pięćdziesiąt samochodów Dziesięć samochodów" updated_str = Replace(full_txt_str, "Samochody", "Rowery", 1) MsgBox updated_str End Sub 

Tutaj zadeklarowaliśmy full_txt_str oraz zaktualizowany_str jako String a następnie przydzielono full_txt_str do losowego ciągu tekstowego- "Hundred Cars Fifty Cars Ten Cars" . Następnie VBA Funkcja REPLACE jest używany do zastąpienia Samochody część tego losowego ciągu z Rowery oraz 1 jest używany tutaj, aby rozpocząć wymianę od pozycji 1 W końcu przypisaliśmy ten nowy ciąg tekstowy do zaktualizowany_str oraz ze skrzynką na wiadomości ( MsgBox ) zobaczymy wynik.

➤ Prasa F5 .

Następnie a skrzynka wiadomości pojawi się nowy ciąg tekstowy z zastąpionym tekstem Rowery .

➤ Aby wykonać proces wymiany od drugiej instancji Samochody użyj następującego kodu.

 Sub substitution_of_text_1() Dim full_txt_str, updated_str As String full_txt_str = "Sto samochodów Pięćdziesiąt samochodów Dziesięć samochodów" updated_str = Replace(full_txt_str, "Samochody", "Rowery", 14) MsgBox updated_str End Sub 

Tutaj użyliśmy pozycji wyjściowej jako 14 ponieważ chcemy mieć część ciągu po Sto samochodów i wymienić Samochody tutaj.

➤ Po prowadzenie kod, będziemy mieli skrzynka wiadomości z ciąg tekstowy począwszy od tekstu Pięćdziesiąt oraz z Rowery w pozycji Samochody .

➤ Aby mieć tylko ostatni fragment tego ciągu stosujemy następujący kod.

 Sub substitution_of_text_1() Dim full_txt_str, updated_str As String full_txt_str = "Sto samochodów Pięćdziesiąt samochodów Dziesięć samochodów" updated_str = Replace(full_txt_str, "Samochody", "Rowery", 25) MsgBox updated_str End Sub 

Tutaj użyliśmy pozycji wyjściowej jako 25 ponieważ chcemy mieć część ciągu po Pięćdziesiąt samochodów i wymienić Samochody z Rowery tutaj.

W końcu będziemy mieli skrzynka wiadomości przy czym nasza pożądana część ciągu ma zamiennik z Rowery .

Czytaj więcej: Excel VBA: Zamień znak w łańcuchu na pozycję (4 skuteczne sposoby)

Metoda-02: Zastąp tekst dla n-tego wystąpienia losowego ciągu za pomocą Excel VBA

W tym rozdziale zastąpimy tekst losowym ciągiem dla różnych ilości wystąpień za pomocą VBA kod.

Kroki :

➤ Follow Krok-01 z Metoda-1 .

➤ Wpisz następujący kod.

 Sub substitution_of_text_2() Dim full_txt_str, updated_str As String full_txt_str = "Sto samochodów Pięćdziesiąt samochodów Dziesięć samochodów" updated_str = Replace(full_txt_str, "Samochody", "Rowery", 1, 1) MsgBox updated_str End Sub 

Tutaj zadeklarowaliśmy full_txt_str oraz zaktualizowany_str jako String a następnie przydzielono full_txt_str do losowego ciągu tekstowego- "Hundred Cars Fifty Cars Ten Cars" . After that, the Funkcja REPLACE jest używany do zastąpienia Samochody część tego losowego ciągu z Rowery , 1 jest używany tutaj, aby rozpocząć wymianę od pozycji 1 tego łańcucha, oraz końcowy 1 służy do zliczania ilości wystąpień. Poprzez użycie 1 jako liczbę liczącą określamy wymianę pierwszego Samochody Na koniec przypisaliśmy ten nowy ciąg tekstowy do zaktualizowany_str oraz ze skrzynką na wiadomości ( MsgBox ) zobaczymy wynik.

➤ Prasa F5 .

Następnie, a skrzynka wiadomości pojawi się z nowym tekstem Rowery w pierwsza pozycja z Samochody tylko.

➤ Za zastąpienie dwóch pierwszych instancji Samochody z Rowery użyj następującego kodu.

 Sub substitution_of_text_2() Dim full_txt_str, updated_str As String full_txt_str = "Sto samochodów Pięćdziesiąt samochodów Dziesięć samochodów" updated_str = Replace(full_txt_str, "Samochody", "Rowery", 1, 2) MsgBox updated_str End Sub 

Tutaj, 2 jest używany jako liczba zliczająca, która zastąpi dwa pierwsze przypadki Samochody z Rowery .

Po uruchomieniu kodu uzyskasz zamianę dwóch pierwszych tekstów Samochody z Rowery .

➤ Zastosuj następujący kod, aby zastąpić wszystkie wystąpienia tekstu Samochody .

 Sub substitution_of_text_2() Dim full_txt_str, updated_str As String full_txt_str = "Sto samochodów Pięćdziesiąt samochodów Dziesięć samochodów" updated_str = Replace(full_txt_str, "Samochody", "Rowery", 1, 3) MsgBox updated_str End Sub 

Tutaj ostatnim argumentem jest Funkcja REPLACE jest 3 który jest licznikiem wskazującym na wymianę wszystkich Samochody z Rowery w ciągu tekstowym.

➤ Prasa F5 .

Następnie będziemy mieli skrzynka wiadomości z zastąpionym tekstem Rowery w ciągu.

Podobne lektury

  • Jak zastąpić tekst z Carriage Return w programie Excel (4 gładkie podejścia)
  • Excel VBA: Jak znaleźć i zastąpić tekst w dokumencie Worda
  • Jak zastąpić tekst po określonym znaku w programie Excel (3 metody)
  • Zastąp tekst komórki na podstawie warunku w programie Excel (5 prostych metod)

Method-03: Zamień tekst na losowy ciąg z InputBox

Tutaj zastąpimy pewien tekst losowego ciągu tekstem, który zostanie zdefiniowany przez użytkownika za pomocą Funkcja VBA InputBox .

Kroki :

➤ Follow Krok-01 z Metoda-1 .

➤ Wpisz następujący kod.

 Sub podmiana_tekstu_3() Dim full_txt_str, new_txt, updated_str As String full_txt_str = "Sto Samochodów Pięćdziesiąt Samochodów Dziesięć Samochodów" new_txt = InputBox("Wpisz nowy tekst do podmiany") updated_str = Replace(full_txt_str, "Samochody", new_txt) MsgBox updated_str End Sub 

Tutaj zadeklarowaliśmy full_txt_str , nowy_tekst oraz zaktualizowany_str jako String a następnie przydzielono full_txt_str do losowego ciągu tekstowego- "Hundred Cars Fifty Cars Ten Cars" Aby zdefiniowane przez użytkownika wejście było tekstem, który ma być zastąpiony przez Samochody w losowym ciągu, użyliśmy Funkcja InputBox a następnie przypisał tę wartość do nowy_tekst . Następnie Funkcja REPLACE jest używany do zastąpienia Samochody część tego losowego ciągu z nowy_tekst Na koniec przypisaliśmy ten nowy ciąg tekstowy do zaktualizowany_str oraz ze skrzynką na wiadomości ( MsgBox ) zobaczymy wynik.

➤ Prasa F5 .

Następnie Pole wprowadzania danych pojawi się, gdzie można wpisać dowolny fragment tekstu, który ma się znaleźć w nowym ciągu.

➤ Typ Rowery lub inny dowolny tekst, a następnie naciśnij OK .

Na koniec otrzymasz następujący wynik z nowym łańcuchem tekstowym o nowym tekście Rowery w pozycji Samochody .

Read More: Jak zastąpić tekst w formule programu Excel (7 prostych sposobów)

Metoda-04: Zastępowanie tekstu w zakresie ciągów znaków za pomocą VBA w Excelu

Tutaj zastąpimy gmail część email ids z domenami w Nowa domena kolumna, a do gromadzenia nowych identyfikatorów emailowych wstawiliśmy nową kolumnę; Ostateczne Email Id .

Kroki :

➤ Follow Krok-01 z Metoda-1 .

➤ Wpisz następujący kod.

 Sub substitution_of_text_4() For i = 4 To 13 If InStr(1, Cells(i, 4).Value, "gmail")> 0 Then Cells(i, 6).Value = Replace(Cells(i, 4).Value, "gmail", Cells(i, 5).Value) Else Cells(i, 6).Value = "" End If Next i End Sub 

Tutaj użyliśmy Pętla FOR aby wykonać operację z Wiersz 4 do Wiersz 13 Z pomocą IF-THEN sprawdziliśmy, czy adresy e-mail Kolumna D zawierają "gmail" lub nie, a za spełnienie tego kryterium "gmail" część adresów e-mail zostanie zastąpiona nowymi domenami Kolumna E aby utworzyć nowe identyfikatory w Kolumna F W przeciwnym razie będziesz miał puste miejsce w odpowiednich komórkach Kolumna F .

➤ Prasa F5 .

Następnie będziesz miał nowe adresy e-mail w Ostateczne Email Id kolumna.

Read More: Excel VBA, aby znaleźć i zastąpić tekst w kolumnie (2 przykłady)

Metoda-05: Zamień tekst w zakresie łańcuchów z danymi użytkownika, aby znaleźć tekst

Możesz zastąpić następujące identyfikatory e-mail nowymi domenami i zadeklarować, co zastąpić w poprzednich ids a wejście użytkownika może być używane przez następującą metodę.

Kroki :

➤ Follow Krok-01 z Metoda-1 .

➤ Wpisz następujący kod.

 Sub substitution_of_text_5() Dim partial_text As String partial_text = Application.InputBox("Wpisz ciąg znaków do zastąpienia") For i = 4 To 13 If InStr(1, Cells(i, 4).Value, LCase(partial_text))> 0 Then Cells(i, 6).Value = Replace(Cells(i, 4).Value, LCase(partial_text), Cells(i, 5).Value) Else Cells(i, 6).Value = "" End If Next i End Sub 

Tutaj zdefiniowaliśmy częściowy_tekst jako String a następnie przypisał go do ciągu, który zostanie podany przez użytkownika poprzez Pole wprowadzania danych .

Następnie wykorzystaliśmy Pętla FOR aby wykonać operację z Wiersz 4 do Wiersz 13 , oraz używając IF-THEN sprawdziliśmy, czy adresy e-mail Kolumna D zawierają "gmail" lub nie. A dla spełnienia tego kryterium "gmail" część adresów e-mail zostanie zastąpiona nowymi domenami Kolumna E aby utworzyć nowe identyfikatory w Kolumna F W przeciwnym razie będziesz miał puste miejsce w odpowiednich komórkach Kolumna F .

➤ Prasa F5 .

Po tym, będziesz miał Pole wprowadzania danych gdzie należy wpisać tekst, który chcemy wyszukać w zakresie email ids (tutaj wpisaliśmy gmail ), a następnie naciśnij OK .

Wreszcie, mamy nasze zaktualizowane identyfikatory e-mail w Ostateczne Email Id kolumna.

Read More: Znajdź i zamień tekst w zakresie za pomocą Excel VBA (Makro i UserForm)

Część ćwiczeniowa

Do samodzielnego wykonywania ćwiczeń udostępniliśmy Praktyka sekcja jak poniżej w arkuszu o nazwie Praktyka . Proszę, zrób to sam.

Wniosek

W tym artykule, staraliśmy się pokryć sposoby zastąpienia tekstu w ciągu za pomocą programu Excel VBA Jeśli masz jakieś sugestie lub pytania, podziel się nimi w sekcji komentarzy.

Hugh West jest bardzo doświadczonym trenerem i analitykiem Excela z ponad 10-letnim doświadczeniem w branży. Posiada tytuł licencjata w dziedzinie rachunkowości i finansów oraz tytuł magistra administracji biznesowej. Hugh ma pasję do nauczania i opracował unikalne podejście do nauczania, które jest łatwe do naśladowania i zrozumienia. Jego specjalistyczna wiedza na temat programu Excel pomogła tysiącom studentów i profesjonalistów na całym świecie doskonalić swoje umiejętności i osiągać doskonałe wyniki w karierze. Za pośrednictwem swojego bloga Hugh dzieli się swoją wiedzą ze światem, oferując bezpłatne samouczki programu Excel i szkolenia online, aby pomóc osobom indywidualnym i firmom w pełni wykorzystać swój potencjał.