View Single Post
  #4   Report Post  
Posted to microsoft.public.excel.misc
Mike H Mike H is offline
external usenet poster
 
Posts: 11,501
Default Insert rows when data changes


Russell,

Try this macro which does the sort and insert the rows. Change SHT tp your
sheet

Sub insertrowifnamechg()
MyColumn = "A"
Set sht = Sheets("Sheet1")
With sht
'Sort data
..Columns("A:F").Sort Key1:=.Range("A1"), Order1:=xlAscending, _
Header:=xlGuess, OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
'Insert rows
For x = .Cells(Rows.Count, MyColumn).End(xlUp).Row To 2 Step -1
If Left(.Cells(x - 1, MyColumn), 1) < _
Left(.Cells(x, MyColumn), 1) Then .Rows(x).Insert
Next x
End With
End Sub




--
Mike

When competing hypotheses are otherwise equal, adopt the hypothesis that
introduces the fewest assumptions while still sufficiently answering the
question.


"Russell Dawson" wrote:

In a column of periodically changing names in alphabetical order (col A) €“ I
need to insert a row after each change in initial letter. So when the names
have been sorted when the initial letter of the name changes from A to B as
in Aldred to Bute there is a blank row inserted after Aldred.

It would be nice if the code could include the instruction to sort the names
first rather than that being a separate action. Sort by column A to include
other related data in columns to F.

Thanks
--
Russell Dawson
Excel Student

Please hit "Yes" if this post was helpful.