VBATools

Usuniecie pustych komórek wierszami (do góry lub do lewej)

by on Sep.27, 2011, under Excel, Porady

Poniższa procedura pokazuje jak usunąć komórki z wyrównaniem do góry lub do lewej (parametr w komentarzu) usuwając zbędne odstępy pustych komórek.

Przed uruchomieniem tej procedury należy wykonać kopię zapasową. Nie jest ona wskazana w przypadku kiedy arkusz posiada formuły.

Sub usniecie_pustych_kom_wierszami()
'MVP OShon from VBATools.pl
Dim max_row&, max_col&, x&, y&
max_row = Cells(1, 1).SpecialCells(xlLastCell).Row
max_col = Cells(1, 1).SpecialCells(xlLastCell).Column
With Application
 .ScreenUpdating = False
 .EnableEvents = False
 For x = max_row To 1 Step -1
 If WorksheetFunction.CountA(Rows(x)) > 0 Then
 For y = max_col To 1 Step -1
 If Len(Cells(x, y).Value) = 0 Then Cells(x, y).Delete Shift:=xlUp 'do góry
 'Shift:=xlToLeft 'do lewej
 Next y
 Else
 Rows(x).Delete 'usuniecie pustego wiersza
 End If
 Next x
 .ScreenUpdating = True
 .EnableEvents = True
End With
End Sub

Procedura przydatna w przypadku obrabiania danych pochodzących ze stron internetowych, gdzie zaimportowane dane mają położenie pozostawiając puste obszary.

(c) Shon Oskar – www.VBATools.pl

Wszelkie prawa zastrzeżone. Żadna część ani całość tego artykułu nie może być powielana ani publikowana bez zgody autora.
:, , , ,

Leave a Reply