90 likes | 235 Views
Programowanie w VBA. Operacje na tekstach. Zbiory danych. Dopisywanie i pobieranie danych. Ćwiczenia. Operacje na tekstach. Funkcje zwracające tekst oczyszczony ze spacji, tabulatorów, itd.: Trim, RTrim, LTrim; Funkcje wycinające ustaloną liczbę znaków z łańcucha znaków: Left, Right, Mid;
E N D
Programowaniew VBA Operacje na tekstach. Zbiory danych. Dopisywanie i pobieranie danych. Ćwiczenia.
Operacje na tekstach • Funkcje zwracające tekst oczyszczony ze spacji, tabulatorów, itd.: Trim, RTrim, LTrim; • Funkcje wycinające ustaloną liczbę znaków z łańcucha znaków: Left, Right, Mid; • Funkcja zwracająca długość łańcucha znaków: Len(<tekst>);
Porównywanie tekstów • Wynik = <tekst> Like <wzorzec> • Wzorzec może być sumą tekstów (np. zmiennych i łańcuchów znaków); • Wynik zależny od ustawienia Option Compare <Binary/Text>: • Binary – porównywanie znaków (różnice w wielkości liter); • Text – porównywanie tekstu (np. nierozróżniające wielkości liter);
Regular expressions • Dodatkowo komendą Like można porównywać (podawane jako znaki): ? – dowolny znak; * - dowolna ilość dowolnych znaków (również brak znaków); # - dowolna cyfra; [<znak>] – dowolny znak z listy/zakresu, np.: [a-g,z]; [!<znaki>] – dowolny znak nie będący na tej liście (analogicznie do poprzedniego); znaki ? * # [ ] wprowadzamy jako [?], [*], [#], [[], []];
Różne różniste Szukanie końca tabeli: Do Until Cells(n, 1).Value = "" UserForm1.ComboBox1.AddItem Cells(n,1).Value n = n + 1 Loop Adresowanie na podstawie wyboru w combobox: Cells(ComboBox1.ListIndex + 1, 1).Value
Różne różniste Zamienianie danych w textboxach na liczby: Val(Textbox1.Value) Sprawdzanie czy coś jest w textboxie: If Textbox1.Value = "" Jeśli coś jest w kilku miejscach używane tak samo, to warto stworzyć osobną procedurę tylko do tego celu, a w miejscach w których ma być ona używana jedynie odwoływać się do niej (programowanie strukturalne);
Zadanie 1 • Utworzyć formularz w którym znajdą się cztery textboxy (plus etykiety opisujące sens textboxów) oraz trzy przyciski i combobox; • Combobox zawiera wszystkie pozycje dotychczas wpisane (lista z jednej kolumny, najlepiej stężenia), wybór pozycji z listy przepisuje dane z arkusza do formularza; • 1. przycisk – oblicza dane wczytane do textboxow i wylicza do etykiety/4. textboxa wynik (jeśli dane w textboxach pokrywają się z tymi z arkusza, to dopisuje do istniejącej linijki wynik); • 2. przycisk – zapisuje zestaw danych jako kolejny wiersza danych w arkuszu; • 3. przycisk zamyka formularz;
Zadanie 2 • Dodać do aplikacji z zadania 1 opcje (dwa checkboxy i przycisk) dopisywania w kolejnych kolumnach pierwiastka ze stężenia (5. kolumna) oraz iloczynu L i pierwiastka ze stężenia (6.kolumna). Do wyboru w checkboxach dla każdego z osobna czy chcemy dodać, przycisk dodaje te dane (wiersz ustalony przez wybór w comboboxie); Oczywiście i pierwiastek i iloczyn zawsze w tej samej kolumnie bez względu na obecność tego drugiego;