Níže se podíváme na program v Excel VBA že odděluje řetězce.
Situace:
Umístěte na list příkazové tlačítko a přidejte následující řádky kódu:
1. Nejprve deklarujeme proměnnou s názvem fullname typu String, proměnnou s názvem komapozice typu Integer a proměnnou s názvem i typu Integer.
Dim fullname As String, commaposition As Integer, i As Integer
Problém, se kterým se potýkáme, je ten, že musíme aplikaci Excel VBA sdělit, kde chceme řetězec oddělit. V případě Smitha je Mike čárka na pozici 6, zatímco v případě Williamse je Janet čárka na pozici 9.
2. Pomocí smyčky provádíme operace s každým jménem zadaným v Excelu. Nejprve inicializujeme proměnnou fullname. Dále použijeme funkci Instr k nalezení polohy čárky.
Pro i = 2 až 7
fullname = Buňky (i, 1). Hodnota
commaposition = InStr (celé jméno, ",")
3. Nakonec chceme část zapsat za čárku do sloupce B a část před čárku do sloupce C. Toho docílíte přidáním řádků:
Buňky (i, 2). Hodnota = střední (celé jméno, kompozice + 2)
Buňky (i, 3). Hodnota = vlevo (celé jméno, kompozice - 1)
Mid (fullname, commaposition + 2) means we want the part of fullname starting at character 'commaposition + 2' (this is exactly the first name).
Vlevo (celé jméno, komapozice - 1) znamená, že chceme, aby část celého jména začínala na začátku až do znaku 'komapozice- 1' (to je přesně příjmení).
4. Nezapomeňte uzavřít smyčku.
Příště já
5. Přidejte do pole („A2: A7“) šest jmen oddělených čárkou a mezerou.
6. Otestujte program.
Výsledek: