Pewnie każdy z was pracując w excel'u na danych importowanych z innych programów napotkał się na problem zbędnych spacji przed lub za danymi potrzebnymi nam do dalszej analizy. Program Excel daje nam dwie możliwości na ich wyczyszczenie.
Jak widzimy na obrazku powyżej, tekst jest wyrównany do lewej a i tak nie przylega do krawędzi komórki. Dzięki maku/funkcji którą dziś opiszę będziecie mogli się pozbyć takich "przedrostków" z pliku excel.
Przy użyciu formuł excel
Pierwsza metoda polega na przepisaniu do komórki/zakresu, danych wejściowych poprzedzając je funkcją.
Jest to metoda szybka dla małej ilości danych, ponieważ musimy przepisać je jeszcze raz do innej komórki/arkusza dodając formułę "=USUŃ.ZBĘDNE.ODSTĘPY(Adres)" podając w nawiasie adres komórki z ciągiem znaków który chcemy wyczyścić. O adresowaniu w programie excel możecie poczytać w poprzednim moim artykule adresowanie excel.
Opisaną wyżej funkcję uważam że jest mało efektowna, gdyż oczyszczone dane mamy w postaci formuły ("=USUŃ.ZBĘDNE.ODSTĘPY(A5)") przez co może komplikować nam dalszą pracę z danymi. Oczywiście możemy skopiować uzyskany zakres i wkleić we jako wartości ale tworzy nam to dodatkową pracę.
Jest to metoda szybka dla małej ilości danych, ponieważ musimy przepisać je jeszcze raz do innej komórki/arkusza dodając formułę "=USUŃ.ZBĘDNE.ODSTĘPY(Adres)" podając w nawiasie adres komórki z ciągiem znaków który chcemy wyczyścić. O adresowaniu w programie excel możecie poczytać w poprzednim moim artykule adresowanie excel.
Opisaną wyżej funkcję uważam że jest mało efektowna, gdyż oczyszczone dane mamy w postaci formuły ("=USUŃ.ZBĘDNE.ODSTĘPY(A5)") przez co może komplikować nam dalszą pracę z danymi. Oczywiście możemy skopiować uzyskany zakres i wkleić we jako wartości ale tworzy nam to dodatkową pracę.
Przy użyciu kodu #VBA
W przypadku uruchomienia makra które znajduje się poniżej program zrobi za nas całą robotę a my możemy nie przejmować się w jakieś kopiowanie. Osobiście polecam tą metodę ,którą używam prawie na co dzień do pracy z danymi excel. Mamy do dyspozycji trzy funkcję:
- LTrim() - usuwa wszystkie znaki spacji przed wyrażeniem z komórki
Np. " Ala ma kota " => "Ala ma kota " - RTrim() - usuwa wszystkie znaki spacji za wyrażeniem z komórki
- Trim() - jest połączeniem dwóch powyższych funkcji, jednocześnie usuwa spacje przed i za ciągiem znaków
Makro do usuwania spacji
To makro usuwa zbędne spacje przed oraz za danymi.
Sub usun_spacje()
For Each cell In ActiveSheet.UsedRange
cell.Value = Trim(cell)
Next cell
End Sub