Autor podstrony: Krzysztof Zajączkowski

Stronę tą wyświetlono już: 40680 razy

Łączenie dwóch ciągów znaków

Do łączenia dwóch ciągów znaków można posłużyć się operatorem dodawania:

Dim str As String str = "tekst " + "do złączenia"

Łączenie dwóch dowolnych typów podstawowych w ciąg znaków

Wcześniej omawianym operatorem można było łączyć tylko dwa ciągi znaków, natomiast za pomocą operatora & w VBA można połączyć dwie dowolne zmienne typu podstawowego w jeden ciąg znaków:

Dim str As String str = "Liczba " & 10

Konwersja dowolnego typu podstawowego do typu String

Do konwersji na String służy funkcja CStr.

Dim str As String str = "Liczba " + CStr(10)

Konwersja tekstu na liczbę

Do konwersji tekstu na liczbę służą funkcje omówione na stronie Programowanie → Podstawy VBA → Funkcje konwersji typów zmiennych w VBA.

Długość tekstu

Długość tekstu przechowywanego przez zmienną typu String można uzyskać za pomocą funkcji Len:

Dim str As String str = "Jakiś tam tekst" MsgBox Len(str)

Sprawdzanie, czy tekst zawiera liczbę

Do sprawdzenia, czy tekst zawiera liczbę służy funkcja IsNumeric, oto przykład jej użycia:

MsgBox IsNumeric("10")

Wycinanie fragmentu tekstu od lewej strony

Do wycięcia fragmentu tekstu od lewej strony służy funkcja Left, która przyjmuje dwa argumenty: tekst do przycięcia i długość wycinanego tekstu. Oto przykład:

Dim str As String str = "Jakiś tam tekst" MsgBox Left(str, 5)

Wycinanie fragmentu tekstu od prawej strony

Do wycięcia fragmentu tekstu od prawej strony służy funkcja Right, która przyjmuje dwa argumenty: tekst do przycięcia i długość wycinanego tekstu. Oto przykład:

Dim str As String str = "Jakiś tam tekst" MsgBox Right(str, 5)

Wycinanie fragmentu tekstu z środka

Do wycięcia fragmentu tekstu z jego środka służy funkcja Mid, która przyjmuje trzy argumenty: tekst do przycięcia, położenie pierwszego znaku (licząc od lewej) i długość wycinanego ciągu. Oto przykład:

Dim str As String str = "Jakiś tam tekst" MsgBox Mid(str, 6, 3)

Znajdowanie pierwszego miejsca wystąpienia tekstu w tekście

Do tego typu operacji służy funkcja InStr, która może przyjmować różną liczbę argumentów:

InStr([start, ]string1, string2[, compare])

Jeżeli wartość argumentu pierwszego nie zostanie podana, porównywanie rozpoczyna się od początku tekstu, dwa kolejne argumenty to przeszukiwany tekst i poszukiwany tekst, ostatni to metoda porównywania tekstu. Funkcja zwraca położenie tekstu, jeżeli nie znajdzie wystąpienia zwraca 0.

MsgBox InStr(2, "10 10 20 10", "10")

Powyższy kod w oknie dialogowym wyświetli wartość 4.

Znajdowanie i zastępowanie tekstu w tekście

Do znajdowania i zamiany tekstu w tekście służy funkcja Replace, która może przyjmować różną liczbę argumentów:

Replace(expression, find, replace[, start[, count[, compare]]])

Pierwszy argument funkcji to tekst, w którym wyszukiwany jest ciąg znaków podany w drugim argumencie funkcji, trzeci argument to tekst do zamiany, czwarty (opcjonalny) to początek wyszukiwania, piąty określa liczba wykonanych podmian, ostatni to metoda porównywania napisów.

Layout wykonany przez autora strony, wszelkie prawa zastrzeżone. Jakiekolwiek użycie części lub całości grafik znajdujących się na tej stronie bez pisemnej zgody jej autora surowo zabronione.