ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Remove blanks from list via VBA (https://www.excelbanter.com/excel-programming/345801-remove-blanks-list-via-vba.html)

TheRobsterUK[_8_]

Remove blanks from list via VBA
 

I have a dynamic list that can have data added/removed from it by the
user. I have got the "adding" part sorted out okay but am having some
trouble with the "removing" part. Here is an example of what my list
looks like:


Code:
--------------------
Name
-----
Tracy
Bob
Anna
Roger
--------------------


So the list is not in alphetical order. What I want to do is be able to
remove any item from the list e.g. remove "Anna":


Code:
--------------------
Name
-----
Tracy
Bob

Roger
--------------------


And then to move all entries below where "Anna" was in order to remove
the blank space e.g.


Code:
--------------------
Name
-----
Tracy
Bob
Roger
--------------------


However I do -not- want to sort the list alphabetically. I want the
names to stay in the exact same order.

Does anyone have any suggestions as to how I can achieve this via a VBA
macro?

Cheers
-Rob

Ps - I should also add that I don't want to do this by deleting the
rows that have the blank cells. Ideally I'd just like to move all the
data beneath the blank cell up by one.


--
TheRobsterUK


------------------------------------------------------------------------
TheRobsterUK's Profile: http://www.excelforum.com/member.php...fo&userid=9924
View this thread: http://www.excelforum.com/showthread...hreadid=485716


Bob Phillips[_6_]

Remove blanks from list via VBA
 
Here is some code

Public Sub MoveData()
Dim iLastRow As Long
Dim i As Long

iLastRow = Cells(Rows.Count, "A").End(xlUp).Row
For i = iLastRow - 1 To 1 Step -1
If Cells(i, "A").Value = "" Then
Cells(i + 1, "A").Resize(iLastRow - i).Cut
Cells(i, "A").Select
ActiveSheet.Paste
End If
Next i
End Sub



--

HTH

RP
(remove nothere from the email address if mailing direct)


"TheRobsterUK"
wrote in message
news:TheRobsterUK.1ym4ay_1132182902.3177@excelforu m-nospam.com...

I have a dynamic list that can have data added/removed from it by the
user. I have got the "adding" part sorted out okay but am having some
trouble with the "removing" part. Here is an example of what my list
looks like:


Code:
--------------------
Name
-----
Tracy
Bob
Anna
Roger
--------------------


So the list is not in alphetical order. What I want to do is be able to
remove any item from the list e.g. remove "Anna":


Code:
--------------------
Name
-----
Tracy
Bob

Roger
--------------------


And then to move all entries below where "Anna" was in order to remove
the blank space e.g.


Code:
--------------------
Name
-----
Tracy
Bob
Roger
--------------------


However I do -not- want to sort the list alphabetically. I want the
names to stay in the exact same order.

Does anyone have any suggestions as to how I can achieve this via a VBA
macro?

Cheers
-Rob

Ps - I should also add that I don't want to do this by deleting the
rows that have the blank cells. Ideally I'd just like to move all the
data beneath the blank cell up by one.


--
TheRobsterUK


------------------------------------------------------------------------
TheRobsterUK's Profile:

http://www.excelforum.com/member.php...fo&userid=9924
View this thread: http://www.excelforum.com/showthread...hreadid=485716




Doug Broad[_4_]

Remove blanks from list via VBA
 
Another approach that might work for you:

Selection.Delete (xlUp)


"TheRobsterUK" wrote in message
news:TheRobsterUK.1ym4ay_1132182902.3177@excelforu m-nospam.com...

I have a dynamic list that can have data added/removed from it by the
user. I have got the "adding" part sorted out okay but am having some
trouble with the "removing" part. Here is an example of what my list
looks like:


Code:
--------------------
Name
-----
Tracy
Bob
Anna
Roger
--------------------


So the list is not in alphetical order. What I want to do is be able to
remove any item from the list e.g. remove "Anna":


Code:
--------------------
Name
-----
Tracy
Bob

Roger
--------------------


And then to move all entries below where "Anna" was in order to remove
the blank space e.g.


Code:
--------------------
Name
-----
Tracy
Bob
Roger
--------------------


However I do -not- want to sort the list alphabetically. I want the
names to stay in the exact same order.

Does anyone have any suggestions as to how I can achieve this via a VBA
macro?

Cheers
-Rob

Ps - I should also add that I don't want to do this by deleting the
rows that have the blank cells. Ideally I'd just like to move all the
data beneath the blank cell up by one.


--
TheRobsterUK


------------------------------------------------------------------------
TheRobsterUK's Profile: http://www.excelforum.com/member.php...fo&userid=9924
View this thread: http://www.excelforum.com/showthread...hreadid=485716




davidm

Remove blanks from list via VBA
 

How about...


Sub DelBlanks()

On error resume next
set rng =Range("a1:a" & [a65536].End(xlUp).Row)
rng.SpecialCells(xlCellTypeBlanks).Delete

End sub


--
davidm
------------------------------------------------------------------------
davidm's Profile: http://www.excelforum.com/member.php...o&userid=20645
View this thread: http://www.excelforum.com/showthread...hreadid=485716



All times are GMT +1. The time now is 03:38 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com