Excel - kurs online - oferta dla każdego

Nie znasz dobrze obsługi Excela? A może nie znasz jej wcale? Doskonale wiem, że w dzisiejszych czasach i realiach, znajomość tego programu jest nie tylko niezbędna, ale przede wszystkim korzystna dla Ciebie samego. Moje szkolenie z Excela online pokaże Ci, że arkusz kalkulacyjny nie jest wcale Twoim wrogiem, a sprzymierzeńcem w porządkowaniu i analizie danych - nie tylko liczbowych. Stworzyłem kurs Excel online na każdym poziomie, zarówno dla osób początkujących, średniozaawansowanych, jak i zaawansowanych. Znajdziesz u mnie także szkolenie z Excela online dedykowane specjalnie przedsiębiorcom. Każdy kurs zawiera starannie wyselekcjonowany zakres wiedzy i zagadnień, które odpowiadają na ściśle sprecyzowane potrzeby jego użytkowników.


Excel - kurs online. Dlaczego warto?

Zastanawiasz się, czy Excel i kurs online to dobre połączenie? Czy taka forma nauki pracy z arkuszem kalkulacyjnym może być efektywna? Pozwól, że rozwieję Twoje wątpliwości.

Od lat z powodzeniem zajmuję się dzieleniem swoją wiedzą zdalnie. Ta forma nauki, szczególnie w ostatnim czasie, mocno zyskała na popularności, a jej techniki znacząco się rozwinęły. Abyś mógł biegle posługiwać się programem Excel, każdy swój kurs zaprojektowałem z ogromną starannością i w oparciu o zasady metodyki nauczania na odległość.

Jednak szkolenie z Excela online, to przede wszystkim ogromna wygoda dla Ciebie, ponieważ nie musisz wychodzić z domu, możesz uczyć się wraz ze mną z dowolnego miejsca i w wybranym przez siebie czasie. Dodatkowo każdy mój kurs Excela online zawiera materiały dydaktyczne dostępne dla Ciebie już po zakończeniu szkolenia. Krótkie nagrania filmowe, prezentujące różnego rodzaju działania w arkuszu kalkulacyjnym, które w dowolnej chwili możesz zatrzymać, odtworzyć ponownie, by jeszcze raz przeanalizować i utrwalić wiedzę, to doskonały sposób, by opanować Excel. Kurs online to nie tylko wygoda, to także oszczędność Twojego i mojego czasu - zamiast dojeżdżać w umówione miejsce, możemy poświęcić więcej chwil na ćwiczenia i praktykę.

Excel — WYSZUKAJ.PIONOWO wszystkie wartości — funkcja POŁĄCZ.TEKSTY — porada 355

W dzisiejszym poście omówimy funkcje WYSZUKAJ.PIONOWO zwracającą wszystkie wartości spełniające dane warunki oraz POŁĄCZ.TEKSTY. Zagadnienie to omówimy na podstawie przykładowych danych z rysunku nr 1. 

rys. nr 1 — Przykładowe dane

W filmie Excel VBA odcinek 12 ( https://www.youtube.com/watch?v=nUhq-noDd2k ) pokazałem jak samodzielnie napisać funkcje, która znajdzie wszystkich sprzedawców z np. województwa świętokrzyskiego (rys. nr 2).

rys. nr 2 — Szukanie sprzedawców według województwa

Od kiedy udało mi się zainstalować licencję 365 Microsoft MVP mam dostęp do funkcji POŁĄCZ.TEKSTY, dzięki której możemy znacznie szybciej przypisać sprzedawców do konkretnych województw. Aby dobrze zrozumieć jak działa ta funkcja omówimy sobie jej poszczególne argumenty. Zapis funkcji będzie wyglądał następująco:

=POŁĄCZ.TEKSTY(", ";FAŁSZ;D2:D8)

Pierwszym argumentem funkcji jest Ogranicznik, w naszym przypadku będzie to przecinek i spacja (", "), czyli sposób rozdzielenia wyników. Kolejnym argumentem jest Ignoruj_puste, czyli PRAWDA (ignoruj puste komórki) lub FAŁSZ (uwzględnij puste komórki). W naszym przykładzie wybierzemy FAŁSZ (rys. nr 3).

rys. nr 3 — Drugi argument funkcji

Następnym argumentem jest Tekst_1, czyli tekst lub zakresy tekstu, które chcemy połączyć. W naszym przykładzie zaznaczymy sobie nazwy województw i dwie komórki poniżej, żeby zobaczyć zachowanie funkcji dla pustych komórek (zakres D2:D8). Wybraliśmy jako drugi argument FAŁSZ, dlatego na końcu mamy uwzględnione puste komórki (rys. nr 4).

rys. nr 4 — Uwzględnione puste komórki w wyniku funkcji POŁĄCZ.TEKSTY

W większości sytuacji chcemy ignorować puste komórki (wpisujemy PRAWDA lub 1), dlatego nasza formuła powinna wyglądać następująco:

=POŁĄCZ.TEKSTY(", ";PRAWDA;D2:D8)

Kiedy zatwierdzimy tak wpisaną formułę nie mamy już dodatkowych przecinków i pustych miejsc w wynikach.

Teraz kiedy wiemy jak działa funkcja POŁĄCZ.TEKSTY, musimy podać funkcji właściwe zakresy dane. Będziemy do tego potrzebować formuły tablicowej – funkcji JEŻELI, która najpierw sprawdzi nam kryteria. Naszym kryterium jest województwo, czyli zaznaczamy zakres $A$2:$A$18 i porównujemy ten zakres do województwa które nas interesuje w tym momencie, czyli do komórki D2. Jeżeli danym wierszu jest wartość która nas interesuje, to chcemy otrzymać sprzedawcę, czyli jako drugi argument funkcji JEŻELI zaznaczamy zakres ze sprzedawcami ($B$$:$B$18). Natomiast w sytuacji kiedy nasz warunek nie jest spełniony chcemy otrzymać pusty ciąg tekstowy, czyli jako trzeci argument wpisujemy nic (""). Zapis funkcji będzie wyglądał następująco:

=POŁĄCZ.TEKSTY(", ";1;JEŻELI($A$2:$A$18=D2; $B$$:$B$18;""))

Jeśli podejrzymy sobie wynik funkcji JEŻELI za pomocą klawisza F9 w trybie edycji komórki zobaczymy następujące wyniki (rys. nr 5)

rys. nr 5 — Podgląd wyników w trybie edycji komórki

Otrzymamy kilku sprzedawców dla województwa świętokrzyskiego i puste ciągi tekstowe dla pozostałych województw. Pamiętamy, że cyfra 1 w funkcji POŁĄCZ.TEKSTY ignoruje te puste miejsca, więc jako wynik otrzymamy tylko imiona sprzedawców. Zatwierdzamy formułę i otrzymujemy błąd- za dużo sprzedawców (rys. nr 6).

rys. nr 6 — Błędny wynik funkcji

Błąd ten wynika z tego iż funkcja JEŻELI jest formułą tablicowa i żeby zadziałała poprawnie należy ją zatwierdzić używając skrótu klawiszowego Ctrl+Shift+Enter (rys. nr 7).

rys. nr 7 — Poprawny wynik funkcji tablicowej

Przeciągamy formułę w dół i otrzymujemy wyniki dla wszystkich województw (rys. nr 8 ).

rys. nr 8 — Wynik działania funkcji dla całej tabeli

Podsumowując skorzystanie z funkcji JEŻELI i POŁĄCZ.TEKSTY jest dużo prostsze niż pisanie kodów w VBA. Musimy jednak pamiętać o prawidłowych zakresach danych i o zatwierdzaniu formuł tablicowych skrótem klawiszowym Ctrl+Shift+Enter.


Książka Mistrz Excela + promo na 35 urodziny

Chcę Cię poinformować, że w końcu udało mi zebrać środki i dopiąć wszystkich formalności, żeby powstało II wydanie mojej książki Mistrz Excela (zostałem wydawcą)
II wydanie jest wzbogacone o rozdział (nr 22) wprowadzający w genialny dodatek (Power Query) do Excela służący do pobierania, łączenia i wstępnej obróbki danych z wielu źródeł.

Książka Mistrz Excela to historia Roberta, który musi poznać dobrze Excela na potrzeby nowej pracy. Książka jest napisana w formie rozmów Roberta z trenerem, dzięki temu jest przystępniejsza w odbiorze niż standardowe książki techniczne pisane językiem "wykładowym".

Rozmowy zostały podzielone na 22 tematyczne rozdziały, które krok po kroku wprowadzają Cię w tajniki Excela. Robert zaczyna naukę od poznania ciekawych aspektów sortowania i filtrowania danych w Excelu, przechodzi przez formatowanie warunkowe, tabele przestawne, funkcje wyszukujące i wiele innych tematów, by na koniec poznać wstępne informacje o VBA i Power Query.
A wszystko to na praktycznych przykładach i z dużą ilością zdjęć.

Żebyś mógł śledzić postępy Roberta, do książki dołączone są pliki Excela, na których pracuje Robert.

Aktualnie w promocji urodzinowej możesz mieć Mistrza Excela w obniżonej cenie, jeśli tylko wpiszesz kod 35URODZINY
https://exceliadam.pl/produkt/ksiazka-mistrz-excela

Na powyższej stronie znajdziesz dokładniejszy opis książki, opinie osób, które kupiły I wydanie oraz podgląd pierwszego rozdziału książki, żeby upewnić się, czy forma rozmów przy nauce Excela jest dla Ciebie.
Jeśli książka Ci się spodoba poinformuj o niej swoich znajomych. 

W ramach promocji na moje 35 urodziny możesz też mieć każdy z moich kursów wideo na Udemy za zaledwie 35 zł. Linki do kursów zamieszczam poniżej. W każdym kursie są udostępnione filmy do podglądu, byś mógł się przekonać czy dany kurs jest dla Ciebie.

Power Query
https://www.udemy.com/course/mistrz-power-query/?couponCode=35URODZINY

Mistrz Excela
https://www.udemy.com/mistrz-excela/?couponCode=35URODZINY

Dashboardy
https://www.udemy.com/course/excel-dashboardy/?couponCode=35URODZINY

Mistrz Formuł
https://www.udemy.com/course/excel-mistrz-formul/?couponCode=35URODZINY

VBA
https://www.udemy.com/course/excel-vba-makra/?couponCode=35URODZINY

Microsoft Power BI
https://www.udemy.com/course/power-bi-microsoft/?couponCode=35URODZINY

Książka Mistrz Excela reklama

Podział kolumny po ilości znaków — PowerQuery #3

Pobrałeś dane ze źródła i jest z nimi poważny problem – są złączone razem. Nie ma w nich żadnego ogranicznika. 

PQ 3 - Podział kolumny po ilości znaków - 01

Ten ciąg potrzebujesz podzielić po ilości znaków. W Excelu najszybszym rozwiązaniem byłoby skorzystanie z polecenia Tekst jako kolumny z karty Dane (innym rozwiązaniem byłoby korzystanie z funkcji FRAGMENT.TEKSTU).
Czyli musimy zaznaczyć kolumnę danych, a następnie w pierwszym kroku polecenia wybrać opcję podziału po stałem szerokości (po ilości znaków).

PQ 3 - Podział kolumny po ilości znaków - 02

W drugim kroku musimy zaznaczyć miejsca, w których chcemy dokonać podziału (kliknąć myszką po odpowiedniej ilości znaków, żeby wstawił się linie podziału na kolumny. Podziału na kolumny chcemy dokonać, najpierw po 10, później po 2, 4, 6, 3 i 3 znakach).

PQ 3 - Podział kolumny po ilości znaków - 03

W trzecim ostatnim kroku możemy wybrać jak mają być sformatowane poszczególne kolumny. W tym przykładzie dla wszystkich kolumn wystarczający jest format ogólny — poprawnie zinterpretuje wszystkie wartości – nawet datę z pierwszej kolumny. Będziemy musieli tylko zmienić miejsce docelowe. Zamiast do kolumny A2 chcemy, żeby dane zaczęły się wpisywać od komórki B2.

PQ 3 - Podział kolumny po ilości znaków - 04

Jeśli mamy taki podział w Excelu i wystarczy, że dokonamy go raz to sprawa jest jasna. Ale jeśli dane pochodzą z innego źródła (np.: pliku tekstowego, .csv, czy bazy danych) to chcielibyśmy rozwiązanie bardziej dynamiczne. Rozwiązaniem jest dodatek PowerQuery (dostępny od Excela 2010). 

Dla ułatwienia przykładowe dane przechowujemy w tabeli Excela, żeby móc skorzystać polecenia PowerQuery – Z tabeli (w Excelu 2016 znajduje się ono na karcie dane, wcześniej na osobnej karcie dodatku PowerQuery).

PQ 3 - Podział kolumny po ilości znaków - 05

Trafimy do edytora zapytań (PowerQuery), gdzie potrzebujemy rozwinąć polecenie Podziel kolumny, by odnaleźć możliwość dzielenia po ilości znaków. (Możemy usunąć domyślnie dodany krok Zmieniono typ, gdyż nic nam w tym momencie nie daje).

PQ 3 - Podział kolumny po ilości znaków - 06

Tutaj niestety nie jest tak prosto, bo podziału możemy dokonać po ilości znaków z lewej bądź prawej strony, albo po powtarzającej się ilości znaków, ale nie ma takiej możliwości jak w polecenie Tekst jako kolumna, gdzie sami klikaliśmy w miejsca podziału.

Na razie ustawmy liczbę znaków na 10 i podział z lewej strony.

PQ 3 - Podział kolumny po ilości znaków - 07

Prawdopodobnie znowu dodał się krok Zmieniono typ, ale tym razem go zostawiamy, żeby daty były poprawnie interpretowane. Dla nas jednak jest ważniejszy wcześniejszy krok Podzielono kolumnę według położenia. Klikamy na niego i patrzymy na formułę, która pokazuje się w pasku formuły:

= Table.SplitColumn(Źródło,"Połączona kolumna",Splitter.SplitTextByPositions({0, 10}, false),{"Połączona kolumna.1", "Połączona kolumna.2"})

PQ 3 - Podział kolumny po ilości znaków - 08

Jeśli nie widzisz paska formuły przejdź na kartę Widok i zaznacz pole wyboru (checkbox) Pasek formuły.

Jest to formuła w języku M (języku PowerQUery). Prawdopodobnie w większości jest dla Ciebie mało zrozumiała, ale wystarczy, że skupimy się na jej fragmentach {0, 10} oraz {"Połączona kolumna.1", "Połączona kolumna.2"} . Są to odpowiednio ilości znaków, po których następuje podział po kolumnach (pierwsze zero jest istotne, gdyż odpowiada za pierwszą kolumnę, że zaczyna się ona od początku). 

Czego nie widać na pierwszy rzut oka jest to, że liczba znaków jest zawsze od początku tekstu. Czyli jeśli chcemy dokonać podziału najpierw po 10, a potem po 2 znakach, to argument wpisany w formule musimy mieć odpowiednio postać {0, 10, 12, 16, 22, 25, 28}, a nie {0, 10, 2}. Oznacza to podział na trzy kolumny, który w drugim omawianym przez na argumencie musimy nadać nazwy. Jeśli napiszesz mniej nazw kolumn niż wynika to z podziału po ilości znaków, to dalsze kolumny się nie wyświetlą. Dla uproszczenia przykładu kolumny nazywamy "k1", "k2", itd.

Mamy mało kolumn, więc jesteśmy w stanie sami policzyć sobie kolejne ilości znaków, ale poniżej znajdziesz sposób na ułatwienie tego procesu w Excelu. Czyli funkcja PowerQuery dzieląca tekst tak jak wcześniej polecenie Tekst jako kolumny powinna mieć postać:

= Table.SplitColumn(Źródło,"Połączona kolumna",Splitter.SplitTextByPositions({0, 10, 12, 16, 22, 25, 28}, false),{"k1", "k2", "k3", "k4", "k5", "k6"})

Niestety taka zmiana formuły spowoduje błąd w kolejnym kroku (domyślnej zmianie typów danych), gdyż zmieniliśmy nazwy kolumny. Najlepiej go usunąć i samemu odpowiednio pozmieniać typy kolumn korzystając np.: z polecenia z karty Narzędzia główne.

Mamy odpowiedni podział kolumn, więc możemy je załadować do Excela. Pamiętaj przy tym, żeby rozwinąć polecenie Zamknij i załaduj by zobaczyć możliwość załadowania do, zamiast domyślnego ładowania danych zapytania do nowego arkusza.
Wynik zapytania PowerQuery jest identyczny jak wynik polecenia Tekst jako kolumny:

PQ 3 - Podział kolumny po ilości znaków - 09

Jest jednak duża różnica, ponieważ tabelę wynikową z PowerQuery można odświeżyć klikając na nią np: prawym przyciskiem myszy i wybierają polecenie Odśwież z podręcznego menu. Można nawet korzystając z polecenia Połączenia na karcie Dane ustawić, żeby zapytanie odświeżało się automatycznie przy otwieraniu pliku.

Jak już wspominałem w tym przykładzie jest mało kolumn, ale w pracy miałem sytuację wielokrotnie, że liczba kolumn wynosiła kilkadziesiąt i łatwo byłoby się pomylić przy liczeniu. Dlatego korzystałem z pomocy Excela przy tworzeniu ciągów liczbowy do argumentów funkcji PowerQuery.

Załóżmy sytuację, że mamy podane liczby co ile musi nastąpić podział kolumny, czyli w tym przykładzie 10, 2, 4, 6, 3, 3. Musimy pamiętać, że PowerQuery potrzebuje jeszcze początkowego 0 oraz, że ciąg ma być ilością znaków od początku tekstu, a długości poszczególnych kolumn. Dlatego musimy odpowiednio zsumować wartości:

=SUMA(I$1:I1)

PQ 3 - Podział kolumny po ilości znaków - 10

Pierwsze odwołanie jest zablokowane, żeby się nie ruszało, a drugie jest odblokowane, żeby przeciągając kolumnę w dół odpowiednio poszerzał się zakres, po którym sumujemy.

Jeśli w Twojej wersji Excela jest dostępna funkcja POŁĄCZ.TEKSTY, to wystarczy, że z niej skorzystasz by połączyć wszystkie liczby:

=POŁĄCZ.TEKSTY(", ";;J1:J7)

Jeśli jej nie masz, to albo wstawiasz dużo argumentów do funkcji ZŁĄCZ.TEKSTY, albo w każdym kolejnym wierszy dołączasz przecinek i kolejną liczbę do komórki powyżej:

=K2&", "&J3

PQ 3 - Podział kolumny po ilości znaków - 11

Pierwsze 0 wpisujemy ręcznie.
Wtedy końcowy tekst możemy skopiować i wkleić do zapytania PowerQuery.

Pozdrawiam
Adam Kopeć
Miłośnik Excela
Microsoft MVP

Jak wyciągnąć wszystkie cyfry z tekstu POŁĄCZ TEKSTY — porada #295

Przed nami ciężkie zadanie wyciągnięcia wszystkich cyfr. Okazuje się ono dużo prostsze jeśli w Twojej wersji Excel 2016 (lub 365) masz zainstalowany już update z funkcją POŁĄCZ.TEKSTY i ZŁĄCZ.TEKST (ważne! bez Y na końcu, bo ZŁĄCZ.TEKSTY działa inaczej).

Porada 295 - Jak wyciągnąć wszystkie cyfry z tekstu 01

Jeśli masz te funkcję to czytaj dalej. Jeśli nie to zajrzyj do następnej porady (296).

Żeby wyciągnąć wszystkie cyfry musimy wyciągnąć każdy znak i sprawdzić, czy jest on cyfrą/liczbą. Możemy to zrobić za pomocą funkcji FRAGMENT.TEKSTU, która wyciąga z testu fragment od wskazanego numeru znaków o wskazanej długości. W tym przykładzie będziemy chcieli wyciągać pojedyncze znaki, czyli długość tekstu = 1. Większym problemem jest to, że potrzebujemy wyciągnąć każdy pojedynczy znak, czyli najpierw wyciągamy pierwszy znak, potem drugi itd, czyli potrzebujemy tablicy znaków, która liczy od 1 do ilości znaków w tekście, który analizujemy.

Żeby to zrobić skorzystamy ze sztuczki, którą znajdziesz w internecie – wykorzystując funkcję ADR.POŚR odwołamy się od wiersza 1 do długości ciągu tekstowego:

=ADR.POŚR("1:"&DŁ(A2))

Tylko to dużo więcej niż potrzebujemy. Nam wystarczą tylko numery wierszy, czyli wstawiamy powyższą formułę do funkcji WIERSZ.

=WIERSZ(ADR.POŚR("1:"&DŁ(A2)))

Porada 295 - Jak wyciągnąć wszystkie cyfry z tekstu 02

Właśnie zbudowaliśmy tablicę numerującą znaki do funkcji FRAGMENT.TEKSTU.

{1;2;3;4;5;6;7;8;9;10;11;12;13;14}

Wystarczy ją tylko w niej umieścić pamiętając, że zawsze wyciągamy pojedyncze znaki:

=FRAGMENT.TEKSTU(A2;WIERSZ(ADR.POŚR("1:"&DŁ(A2)));1)

Porada 295 - Jak wyciągnąć wszystkie cyfry z tekstu 03

Uzyskamy dzięki temu tekst rozłożony na pojedyncze znaki (tablicę znaków):

{"5";" ";"S";"u";"k";"i";"e";"n";"k";"a";" ";"1";"0";"0"}

Tylko poważnym problemem jest to, że funkcja FRAGMENT.TEKSTU wszystkie znaki zwraca jako tekst (są w podwójnych cudzysłowach). Na szczęście dowolna operacja matematyczna na liczbie zapisanej jako tekst zamienia ją ponownie na „prawdziwą” liczbę ? Skorzystamy z tutaj podwójnej negacji, czyli dwóch znaków minus przed funkcją. Wynikiem tego będzie tablica liczb i błędów

{5;#ARG!;#ARG!;#ARG!;#ARG!;#ARG!;#ARG!;#ARG!;#ARG!;#ARG!;#ARG!;1;0;0}

Na szczęście jest nam to na rękę ponieważ nam zależy tylko na liczbach, a tam gdzie pojawił się błąd nie chcemy nic wyświetlać, więc wystarczy, że wstawimy naszą formułę do funkcji JEŻELI.BŁĄD, która zamiast błędów będzie zwracała pusty ciąg tekstowy (dwa podwójne cudzysłowy)

=JEŻELI.BŁĄD(–FRAGMENT.TEKSTU(A2;WIERSZ(ADR.POŚR("1:"&DŁ(A2)));1);"")

Porada 295 - Jak wyciągnąć wszystkie cyfry z tekstu 04

Teraz formułą zwraca tablicę cyfr i pustych ciągów znaków, 

{5;"";"";"";"";"";"";"";"";"";"";1;0;0}

którą możemy łatwo połączyć za pomocą funkcji ZŁĄCZ.TEKST (przypominam bez Y na końcu) lub POŁĄCZ.TEKSTY jeśli zależy nam, żeby rozdzielać cyfry konkretnym ogranicznikiem, a nie bezpośrednio łączyć je ze sobą, ale w większości sytuacji chcemy je bezpośrednio łączyć, więc formuła będzie wyglądać tak:

=ZŁĄCZ.TEKST(JEŻELI.BŁĄD(–FRAGMENT.TEKSTU(A2;WIERSZ(ADR.POŚR("1:"&DŁ(A2)));1);""))

Porada 295 - Jak wyciągnąć wszystkie cyfry z tekstu 05

Musimy tylko pamiętać, że jest to formuła tablicowa i musimy ją zatwierdzić kombinacją klawiszy Ctrl + Shift + Enter.

Przykład dla funkcji POŁĄCZ.TEKSTY z przecinkiem jako ogranicznikiem i pomijaniem pustych wartości (wartość logiczna PRAWDA) wygląda tak:

=POŁĄCZ.TEKSTY(",";PRAWDA;JEŻELI.BŁĄD(–FRAGMENT.TEKSTU(A2;WIERSZ(ADR.POŚR("1:"&DŁ(A2)));1);""))

Porada 295 - Jak wyciągnąć wszystkie cyfry z tekstu 06

Pozdrawiam
Adam Kopeć
Miłośnik Excela
Microsoft MVP (Excel)

Funkcja POŁĄCZ TEKSTY przed Excelem 2019 — odcinek #17

Od Excela 2019 została wprowadzona funkcja POŁĄCZ.TEKSTY, która w łatwy sposób umożliwia połączenie zwykłych tekstów, liczb, danych z zakresów dane, ale wcześniej nie było takiej funkcji, dlatego poniżej znajdziesz kod VBA, który taką funkcję tworzy i pozwala Ci z niej korzystać w Excelu.

vba-17-funkcja-polacz-teksty-przed-excelem-2016

Function POŁĄCZTEKST(ogranicznik As String, ignoruj_puste As Boolean _

, ParamArray tekst() As Variant) As String

    'Zmienne pomocnicze

Dim i As Integer, j As Integer

    'Pętla po wszystkich elementach parametru tekst

    'funkcja UBound wyznacza pierwszy wymiar parametru tekst

For i = 0 To UBound(tekst)

        'Sprawdzamy, czy aktualny (numer i) element parametru tekst jest zakresem

If TypeName(tekst(i)) = "Range" Then

            'Jeśli jest to musimy przejść po wszyskich jego komórkach

            'może być istotne, że VBA przechodzi od lewej do prawej, później góra dół

For j = 1 To tekst(i).Count

                'Jeśli ustawiłeś, że mają być ignorowane wartości puste to tu jest sprawdzane,

                'czyli argument ignoruj_puste musi być równy True

                'i komórka zakresu (tekst(i)(j)) musi być pusta

If Not (ignoruj_puste And tekst(i)(j) = "") Then

POŁĄCZTEKST = POŁĄCZTEKST & ogranicznik & tekst(i)(j)

End If

Next j

Else

            'Jeśli aktualny (numer i) element parametru tekst nie jest zakresem

            'to możemy go od razu połączyć, zakładam też, że nikt nie wpisze pustej wartości

            'więc nie sprawdzamy czy wartości wpisane są puste

POŁĄCZTEKST = POŁĄCZTEKST & ogranicznik & tekst(i)

End If

Next i

    'a na koniec wycinamy pierwszy ogranicznik, bo wstawia się na początku połączonego tekstu

POŁĄCZTEKST = Right(POŁĄCZTEKST, Len(POŁĄCZTEKST) — Len(ogranicznik))

End Function

Chcesz ze mną poznać możliwości VBA? Zobacz kiedy planowana jest następna edycja 30dniowego kursu online:
https://excelw30dni.pl/kategoria-produktu/szkolenia-vba/

Pozdrawiam
Adam Kopeć
Miłośnik Excela