View Single Post
  #5   Report Post  
Posted to microsoft.public.excel.programming
Tom Ogilvy Tom Ogilvy is offline
external usenet poster
 
Posts: 27,285
Default Combine two macros using InStr?

You macro is flawed. Lastrow does not adjust as you add rows, so if you
have any total near the end of your range, you would miss it.

You should loop from lastrow to 8

Sub AddRowSubTotalsBoth()

lastrow = Range("A" & Rows.Count).End(xlUp).Row
For r = lastrow to 8 step -1
If InStr(1, Cells(r, 3).Value, "Total") 0 Or _
InStr(1, Cells(r, 8).Value, "Total") 0 Then
ActiveSheet.Rows(r + 1).EntireRow.Insert

End If
Next
End Sub

--
Regards,
Tom Ogilvy


--
Regards,
Tom Ogilvy

"CLR" wrote in message
...
Hi All.........

I got a macro from here the other day, (sorry, don't remember who

submitted
it), and modified it for my own use. Unfortunately, in order to get all I
want done, I had to turn it into two seperate macros, as shown below.

Can
anyone please tell me how these two might be combined into just one
macro?.........or maybe it's not possible?
The only thing I've changed between the two, is the 8 to a 3 in the InStr
statement, to get the thing to read for "Total" in column 3 instead of
column 8. It works fine this way, just aggravating to have to have
two........

====================================
Sub AddRowSubTotalsDomestic()

lastrow = Range("A65536").End(xlUp).Row
For r = 8 To lastrow
If InStr(1, Cells(r, 8).Value, "Total") 0 Then
ActiveSheet.Rows(r + 1).EntireRow.Insert

End If
Next
End Sub

====================================

Sub AddRowSubTotalsInternational()

lastrow = Range("A65536").End(xlUp).Row
For r = 8 To lastrow
If InStr(1, Cells(r, 3).Value, "Total") 0 Then
ActiveSheet.Rows(r + 1).EntireRow.Insert

End If
Next
End Sub
=====================================


Vaya con Dios,
Chuck, CABGx3