Vba: jak usunąć ostatni znak z ciągu
Możesz użyć następującej podstawowej składni, aby usunąć ostatni znak z ciągu za pomocą VBA:
Sub RemoveLastChar()
Dim i As Integer
Dim myString As String
For i = 2 To 11
myString = Range(" A " & i)
Range(" B " & i) = Left(myString, Len(myString) - 1)
Next i
End Sub
Ten konkretny przykład usuwa ostatni znak z każdego ciągu w zakresie A2:A11 i wyświetla wyniki w zakresie B2:B11 .
Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.
Przykład: użycie VBA do usunięcia ostatniego znaku z ciągów
Załóżmy, że mamy w Excelu następującą listę nazw drużyn koszykarskich:
Załóżmy, że chcemy usunąć ostatni znak z nazwy każdego zespołu.
W tym celu możemy utworzyć następujące makro:
Sub RemoveLastChar()
Dim i As Integer
Dim myString As String
For i = 2 To 11
myString = Range(" A " & i)
Range(" B " & i) = Left(myString, Len(myString) - 1)
Next i
End Sub
Kiedy uruchomimy to makro, otrzymamy następujące dane wyjściowe:
Kolumna B wyświetla każdy ciąg z kolumny A z usuniętym ostatnim znakiem.
Jeśli zamiast tego chcesz usunąć n ostatnich znaków z ciągu, po prostu zamień 1 w metodzie Left na inną liczbę.
Na przykład możemy utworzyć następujące makro, aby usunąć 2 ostatnie znaki z ciągu:
Sub RemoveLastTwoChar()
Dim i As Integer
Dim myString As String
For i = 2 To 11
myString = Range(" A " & i)
Range(" B " & i) = Left(myString, Len(myString) - 2)
Next i
End Sub
Kiedy uruchomimy to makro, otrzymamy następujące dane wyjściowe:
Kolumna B wyświetla każdy ciąg z kolumny A z usuniętymi dwoma ostatnimi znakami.
Uwaga : Pełną dokumentację metody VBA Left można znaleźć tutaj .
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