1. Funkcje tablicowe w Excel VBA – jak z nich korzystać?
Chcesz skorzystać z funkcji tablicowej w VBA? Kod VB umożliwia korzystanie z tych formuł poprzez odwołanie do funkcji arkuszowych opisanych m.in. kursie VBA na mojej stronie. W tym rozdziale opiszę zarówno korzystanie z formuł tablicowych w samym arkuszu, jak i w VBA. Przykłady będą wykonane na podstawie funkcji TRANSPONUJ(). Stwórzmy na początek tabelkę danych i wklejmy ją w zakres A1:C7 arkusza. Tabela ma następującą strukturę i wartości:
Id | Imię i Nazwisko | Stanowisko |
---|---|---|
1 | Adam Kowalski | Główny Księgowy |
2 | Andrzej Nowak | Księgowy |
3 | Paweł Wiśniewski | Księgowy |
4 | Martin Shmidt | Księgowy |
5 | Anna Kowalska | Asystent |
6 | Monika Nowak | Asystent |
2. Korzystanie z funkcji tablicowej w arkuszu Excel
Jak skorzystać z formuły tablicowej w arkuszu Excel bez użycia VBA? Jak pamiętamy powinniśmy na początek zaznaczyć zakres w którym chcemy otrzymać wynik. Na przykładzie naszej tabelki może to być zakres E1:K3. Po zaznaczeniu zakresu wpisujemy nazwę funkcji i zakres argumentu, a więc w naszym wypadku TRANSPONUJ(A1:C7).Funkcję wywołujemy kombinacją klawiszy CTRL+SHIFT+ENTER.
3. Funkcje tablicowe w VBA Excel – przykład wykorzystania
W jaki sposób w takim razie korzystać z funkcji tablicowych w VBA? Powinniśmy odwołać się na początek do funkcji arkuszowych Excel. Same funkcje tablicowe VBA wywołujemy standardowym poleceniem Application.WorksheetFunction.(…), a w naszym konkretnym przypadku Application.WorksheetFunction.Transpose(). Kod wykonujący transpozycję w zakresie E1:K3 wygląda następująco:
Sub FunkcjeTablicowe() Range("E1:K3") = Application.WorksheetFunction.Transpose(Range("A1:C7")) End Sub
Plik z przykładem załączam poniżej: