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:
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