Metoda
Evaluate raz jeszcze... Tym razem zaprezentuję, jak myślę, zaskakujące dla wielu czytelników zastosowaniu tej instrukcji, a więc metoda
Evaluate jako sposób na skróconą definicję tablic Array.
Skrócona metoda tworzenia tablicy jedno- lub wielowymiarowej opiera się na stworzeniu ciągu tekstu gdzie:
a) symbole {} oznaczają definicję tablicy
b) każdy przecinek rozdziela elementy tablicy należące do tego samego jej wymiaru
d) każdy średnik rozdziela wymiary tablicy.
Skrócona metoda ma swoje źródło w sposobie definiowana tablic Array po stronie komórki Excela. Tam właśnie wykorzystujemy w/w symbole i technikę. Evaluate pozwoli nam więc na przeniesienie rozwiązania znanego z aplikacji Excel do środowiska VBA.
Oto przykład tworzenia tablicy Array:
4 | xString = "{1,2,3,4,5,6}" |
5 | xArray = Evaluate(xString) |
6 | Range( "A1" ).Resize(1, 6).Value = xArray |
Stwórzmy teraz tablicę dwuwymiarową w krótszym zapisie:
1 | xArray = Evaluate( "{1,2,3;4,5,6}" ) |
2 | Range( "A3" ).Resize(2, 3).Value = xArray |
Stosując skrócony zapis funkcji Evaluate możemy powyższy przykład skrócić do absolutnego minimum:
1 | Range( "A6" ).Resize(2, 3).Value = [{1,2,3;4,5,6}] |
Wykonanie powyższych przykładów i zwrócenie wartości do arkusza Excel obrazuje poniższy zrzut ekranu.
Metoda
Evaluate jest metodą szybką, wydajną, efektywną. Umożliwia stosowanie skróconego zapisu w wielu sytuacjach. Jednym z problemów z jakim się spotkamy w pracy z
Evaluate to proces debugowania tej instrukcji. Zagadnienia tego nie będę omawiał przyjmując założenie, że stosowanie
Evaluate nie sprawi nikomu problemu. :)