Odczytując wartość tekstową z komórki bądź pliku czasami zachodzi potrzeba odczytania np. pierwszej litery danego ciągu znaków. Jeśli kojarzysz w Excelu takie funkcje jak: DŁ, LEWY, PRAWY, FRAGMENT.TEKSTU, ZNAJDŹ czy PODSTAW to czytając tę lekcję będziesz się czuć „jak ryba w wodzie”.
Poniższy przykład demonstruje użycie kilku popularnych funkcji operujących na tekście.
Sub FunkcjeTekstowe()
Dim Tekst As String, Tekst2 As String
Dim Dlugosc As Long, PozycjaSpacja1 As Long, PozycjaSpacja2 As Long
Dim Poczatek As String, Koniec As String, Srodek As String, Srodek2 As String
' Na tym tekście ćwiczymy
Tekst = "Żyrafy wchodzą do szafy"
'Podaj długość tekstu
Dlugosc = Len(Tekst)
'Pobierz 6 pierwszych liter (Żyrafy)
Poczatek = Left(Tekst, 6)
'Pobierz 5 ostatnich liter (szafy)
Koniec = Right(Tekst, 5)
'Pobierz zaczynając od 8 litery 7 kolejnych znaków (wchodzą)
Srodek = Mid(Tekst, 8, 7)
'Znajdź pozycję pierwszej i drugiej spacji w naszym tekście
PozycjaSpacja1 = InStr(Tekst, " ")
PozycjaSpacja2 = InStr(PozycjaSpacja1 + 1, Tekst, " ")
'Wyciągnij drugi wyraz (czyli to co znajduje się między pierwsza a drugą spacją)
'W porządnym programie warto dac dodatkowe warunki (IF) które sprawdzają
'czy np. obie zmienne zawierające PozycjeSpacji >0
'Czy ciąg tekstowy jest pusty
Srodek2 = Mid(Tekst, PozycjaSpacja1 + 1, (PozycjaSpacja2 - PozycjaSpacja1 - 1))
MsgBox "#" & Srodek2 & "#"
'Zamień w tekście wszystkie spacje na znaki _ (dolnik)
Tekst2 = Replace(Tekst, " ", "_")
End Sub