View Single Post
  #9   Report Post  
Posted to microsoft.public.excel.programming
Dave Birley Dave Birley is offline
external usenet poster
 
Posts: 171
Default Macro only "Works" with F-8

Once again I become very conscious of the fact that, although I understand
the basic (no pun intended) principles of programming, their translation into
different languages is as complex as when I am trying to translate from
Swahili to French, with English as my native tongue!

Having an "interpreter" handy is most helpful <g! Thanks.
--
Dave
Temping with Staffmark
in Rock Hill, SC


"Dave Peterson" wrote:

It usually makes life a lot simpler to process the data from the bottom row to
the top row.

Option Explicit
Sub testme01()
Dim FirstRow as long
dim LastRow as long
dim iRow as long

with worksheets("names by category")
firstrow = 2
lastrow = .cells(.rows.count,"A").end(xlup).row

for irow = lastrow to firstrow step -1
if isempty(.cells(irow,"A").value) then
.cells(irow,"A").delete shift:=xlup
'or delete the entire row
'.rows(irow).delete
end if
next irow
end with
end sub

========
Alternatively, you could do this:

Manually:
select the range (A2:Axx)
edit|goto|special|blanks
edit|delete|Shift cells up

In code:
Option Explicit
Sub testme02()

With Worksheets("names by category")
On Error Resume Next
.Range("a2", .Cells(.Rows.Count, "A").End(xlUp)) _
.Cells.SpecialCells(xlCellTypeBlanks).Delete Shift:=xlUp
On Error GoTo 0
End With
End Sub

To delete the entire row, use this:

.Range("a2", .Cells(.Rows.Count, "A").End(xlUp)) _
.Cells.SpecialCells(xlCellTypeBlanks).entirerow.de lete

As an aside, if you have empty cells in column A after the last used cell in
column A, then those cells/rows won't be deleted with any of this code. You'd
have to find the lastrow some other way than relying on column A.



Dave Birley wrote:

Here's the Macro:

Sub DeleteBlanksInColumnA()
'
' Macro1 Macro
' Macro recorded 5/17/2007 by Administrator
'
Dim rngCell, rngNewCell As Range
Dim varName, varCount As Variant

varCount = 1
Sheets("Names by Category").Select
With Range("A2", Range("A" & Rows.Count).End(xlUp))
For Each rngCell In .Cells
If IsEmpty(rngCell(1, 1)) Then
rngCell(1, 1).Select
Selection.Delete Shift:=xlUp
End If
Next rngCell
End With
End Sub

When I step through it with the F8 key, it does what I expect it to do. When
I turn it loose with Run, it don't do nuffin'!

Whutz goin' on here?
--
Dave
Temping with Staffmark
in Rock Hill, SC


--

Dave Peterson