Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
DiscussionsAccessExcelInfoPathOutlookPowerPointPublisherWord
DirectoryUser Groups
Related Topics
Outlook ExpressInternet ExplorerWindowsMS Server ProductsMore Topics ...

MS Office Forum / Excel / Programming / May 2008

Tip: Looking for answers? Try searching our database.

Deleting Null Rows

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
J. Trucking - 14 May 2008 06:17 GMT
Hello,

I am exporting data from Access to Excel.  This part works great.  I
have the values exported to a worksheet.  I then link those cells to a
formatted worksheet within the workbook.  Since the data from Access
is dynamic, I don't always fill up the formatted sheet.  Therefore, I
would like to delete any blank rows within the range of rows 9-150 on
the formatted sheet when the workbook is poened.  I've used a "Delete
Row" macro before but for the life of me, can't figure out how to do
this again.  I would like a macro to look for blank values in column A
between rows 9 and 150.  I will be looking for blank values in column
A to determine whether the row stays or gets deleted.  I have an IF
statement for the value of the cell which states that if the imported
data (on the seperate sheet) is blank, then the value of the cell will
be blank.

One thing I tried to do is select the range A9:A150.  I then pushed F5
and tried to search on special and blanks.  Even though some of the
cells were blank (based on the if statement), the results said there
were no blank cells.

Would anyone have any idea how to write a macro to delete rows if the
results of the formula are null?

As well, I have one additional question (it's a little bit Access
related).  When I export the data from Access to Excel, I use a form.
There is a "start date" and an "end date" field on the form.  I would
like these values to appear in specific cells within the Excel
Workbook.  Any Ideas for this one?

Thanks in advance for any help,

John
NateBuckley - 14 May 2008 06:52 GMT
Hello, try this

Sub deleteABlankRow()
   Dim c As Range
   
   For Each c In Range("A9:A150")
       If c.Value = "" Or c.Value = Null Then
           c.EntireRow.Delete xlUp
       End If
   Next c
End Sub

If this doesn't work (as I'm unsure about the Null keyword in VBA), then you
could try adding within the IF statement

If c.Value = "" or c.Value = null OR len(c.value) = 0 then

All this does is go through Cells A9 to A150, checking if they contain any
blanks or nulls and if they do - delete the entireRow.

Not done much stuff with forms in Access and Excel so I don't want to help
out there just incase I give out wrong information. I hope that code snippet
helps though.

> Hello,
>
[quoted text clipped - 29 lines]
>
> John
Dave Peterson - 14 May 2008 12:40 GMT
Dim iRow as long
with activesheet
 for irow = 150 to 9 step -1
   if trim(.cells(irow,"A").value) = "" then
      .rows(irow).delete
   end if
 next irow
end with

=======

If you're positive that you don't have anything in those cells (no space
characters, no whitespace at all)...

Saved from a previous post:

If you want to see what's left in that cell after you convert ="" to values,
try:
Tools|Options|Transition Tab|Toggle Transition Navigation keys on.

Then select one of those cells and look at the formula bar.  You'll see an
apostrophe.  (Don't forget to toggle the setting to off.)

When I want to clean up this detritus, I do this:

Select the range (ctrl-a a few times to select all the cells)
Edit|Replace
what:  (leave blank)
with:  $$$$$
replace all

Immediately followed by:
Edit|Replace
what:  $$$$$
with:  (leave blank)
replace all

=========
then you can use the F5|Special|Blanks and delete the rows that way.

> Hello,
>
[quoted text clipped - 29 lines]
>
> John

Signature

Dave Peterson

J. Trucking - 14 May 2008 14:17 GMT
Thanks for the responses.  I'll give this a try.

John
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.