Triki, sztuczki, żeby przyspieszyć sobie pracę z Excelem. Kursy Excel, Kursy Access, Kursy VBA Programowanie VBA, Excel, Access
piątek, 9 maja 2014
niedziela, 23 marca 2014
MAKRO - Usuwanie zbędnych spacji z zaznaczonych komórek
Często zdarza mi się dostać od kogoś plik w którym ktoś na początku lub końcu komórki w tekście wpisał spacje.
Jak się ich pozbyć?
Jak się ich pozbyć?
KOD
Sub usunZbedneSpacje()
On Error Resume Next
Dim komorka As Range '
zmienna która będzie wskazywała aktualną komórkę
For Each komorka In Selection ' dla każdej zaznaczonej komórki rób:
' trim - usuwa białe znaki z obu lewej i prawej tekstu.
komorka = Trim(komorka) ' wynik zapisujemy z powrotem do tej samej komórki
Next komorka ' koniec for. Czyli przejdź do następnej komórki
End Sub
KONIEC! Widzisz jakie proste?
A jeśli chcemy coś więcej....
Modyfikacje:
Potrzebujemy usunąć również podwójne spacje ze środka tekstu
wystarczy zamiast funkcji Trim użyć funkcji WorksheetFunction.Trim
czyli linijka może wyglądać tak:
komorka = WorksheetFunction.Trim(komorka)
Tutaj użyliśmy funkcji która dodatkowo wszystkie podwójne spacje zamienia na pojedyncze.
Jeśli chcesz usunąć wszystkie spacje z komórek.
komorka = replace(komorka, " ", "")
Funkcja Replace działa jak znajdź i zamień. Tutaj chcemy, żeby w komórce znalazł wszystkie spacje (" ") i je zlikwidował, czyli zamienił na nic ("")
Jeśli potrzebujemy usunąć spacje z konkretnego zakresu (a nie z zaznaczenia)
Pętla For each jest tak fajna, że możesz użyć jej również w tym przypadku.
Poniżej przykład pętli, która iteruje po wszystkich komórkach z zakresu od A1 do B20 oraz w kolumnie C:
For Each
komorka In Range("A1:B20,C:C")
Jeśli masz pytania / uwagi / propozycje jakie makra byłyby Ci potrzebne to pisz w komentarzach
Subskrybuj:
Posty (Atom)