Własna funkcja w Excelu
Kolejna, po wpisie o eksporcie danych, notka o Excelu.
Zauważyłem, że ostatnio sporo czasu traciłem na eksporcie danych z Excela do ustalonego z góry formatu tekstowego (wartości z poszczególnych kolumn rozdzielone backslash’em). Gdy kolumn było mało (2-3) wpisanie formuły:
=A2&"\"&B2
zajmowało chwilę, gorzej gdy ilość kolumn zaczęła przekraczać 30..
Po krótkiej chwili googlania i nieco dłuższej własnych eksperymentów wydumałem taką funkcję (ostrzeżenie dla czytelników znających Visual Basic’a – widok tego kodu może powodować salwy śmiechu, żeby nie było, że nie ostrzegałem. Jest to moje pierwsze makro i jestem z niego bardzo dumny 😉 ):
Function Concatenate(cells As Range, delimiter As String) As String Dim str As String str = "" For Each cell In cells str = str & cell & delimiter Next cell Concatenate = str End Function
Otwarcie edytora Visual Basic w Excelu: Alt + F11 ( < 1 s), napisanie funkcji (~5 min), zamknięcie edytora: Alt + Q (< 1 s), zaoszczędzony na przyszłość czas (bezcenne). Parafrazując reklamę:
Są rzeczy, których nie da się kupić. Wszystkie inne możesz napisać sobie sam.
Screen z użycia funkcji:
Wynik działania funkcji:
Jedna odpowiedź Zostaw komentarz