Vba: jak wyodrębnić tekst między dwoma znakami


Możesz utworzyć następującą funkcję niestandardową w VBA, aby wyodrębnić tekst pomiędzy dwoma określonymi znakami:

 Function ExtractBetween(this_text, start_char, end_char)

StartPosition = InStr(this_text, start_char)
EndPosition = InStr(this_text, end_char)

ExtractBetween = Mid(this_text, StartPosition + 1, EndPosition - StartPosition - 1)

End Function

Następnie możesz użyć tej funkcji, aby wyodrębnić tekst między dwoma określonymi znakami do określonego znaku w programie Excel.

Poniższy przykład pokazuje, jak w praktyce wykorzystać tę funkcję.

Przykład: użycie VBA do wyodrębnienia tekstu pomiędzy dwoma znakami

Załóżmy, że mamy w Excelu następujący zestaw danych zawierający wartości ID oraz łączną sprzedaż różnych produktów w firmie:

Załóżmy, że chcemy użyć języka VBA do wyodrębnienia tekstu w nawiasach dla każdej komórki w kolumnie A i zwrócenia wyników w kolumnie C.

W tym celu możemy utworzyć następującą funkcję:

 Function ExtractBetween(this_text, start_char, end_char)

StartPosition = InStr(this_text, start_char)
EndPosition = InStr(this_text, end_char)

ExtractBetween = Mid(this_text, StartPosition + 1, EndPosition - StartPosition - 1)

End Function

Następnie możemy wpisać następującą formułę w komórce C2 , aby wyodrębnić tekst w nawiasach dla tekstu w komórce A2 :

 =ExtractBetween( A2 , "(", ")")

Możemy następnie kliknąć i przeciągnąć tę formułę do każdej pozostałej komórki w kolumnie C:

VBA wyodrębnia tekst pomiędzy dwoma określonymi znakami

Kolumna C wyświetla teraz tekst w nawiasach dla każdej pasującej komórki w kolumnie A.

Uwaga : Ta formuła działa przy użyciu funkcji Instr w języku VBA w celu wyodrębnienia pozycji określonych znaków początkowych i końcowych, a następnie przy użyciu funkcji Mid w celu zwrócenia całego tekstu znajdującego się pomiędzy tymi dwoma znakami.

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania przy użyciu języka VBA:

VBA: Jak liczyć wystąpienia znaków w ciągu
VBA: jak sprawdzić, czy ciąg zawiera inny ciąg
VBA: Jak liczyć komórki zawierające określony tekst

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *