Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I have a macro that I use to subtotal lines (I took parts of this from
other macros on this group and elsewhere and don't know who to give credit to, so thanks whoever you are) Sub SUBTOTAL() '- select range and run macro Dim MyRange As Range Set MyRange = Selection ActiveCell.Offset(MyRange.Rows.Count, 0).Formula = _ "=SUBTOTAL(9," & MyRange.Address & ")" ActiveCell.Offset(MyRange.Rows.Count, 0).Select ' moves to bottom of selection where subtotal was just inserted. End Sub As an example I have numbers in B1:B10, I highlight from B1 down to B10, and hit a button to run the macro. It puts the subtotal in B11. So far so good. If I highlight from B10 up to B1, it puts the subtotal in B20. How do I amend so that I can have it work no matter where I start to highlight? Can I do it to subtotal across, and total on the right? And even better let the macro know if it up/down or across and put the subtotal in the right place. Thanks so much. |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi-This should work. Subtotal is off of the activecell.
Sub SUBTOTAL() '- select range and run macro Dim MyRange As Range Set MyRange = Selection OffsetValue = MyRange.Rows.Count If ActiveCell.Row MyRange.Row Then ActiveCell.Offset(1, 0).Formula = _ "=SUBTOTAL(9," & MyRange.Address & ")" ActiveCell.Offset(1, 0).Select Else ActiveCell.Offset(MyRange.Rows.Count, 0).Formula = _ "=SUBTOTAL(9," & MyRange.Address & ")" ActiveCell.Offset(MyRange.Rows.Count, 0).Select End If ' moves to bottom of selection where subtotal was just inserted. End Sub -----Original Message----- I have a macro that I use to subtotal lines (I took parts of this from other macros on this group and elsewhere and don't know who to give credit to, so thanks whoever you are) Sub SUBTOTAL() '- select range and run macro Dim MyRange As Range Set MyRange = Selection ActiveCell.Offset(MyRange.Rows.Count, 0).Formula = _ "=SUBTOTAL(9," & MyRange.Address & ")" ActiveCell.Offset(MyRange.Rows.Count, 0).Select ' moves to bottom of selection where subtotal was just inserted. End Sub As an example I have numbers in B1:B10, I highlight from B1 down to B10, and hit a button to run the macro. It puts the subtotal in B11. So far so good. If I highlight from B10 up to B1, it puts the subtotal in B20. How do I amend so that I can have it work no matter where I start to highlight? Can I do it to subtotal across, and total on the right? And even better let the macro know if it up/down or across and put the subtotal in the right place. Thanks so much. . |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
First, I wouldn't use Subtotal as my procedure name. If you record a macro when
you do data|subtotals, you'll see that it's used by excel (and even though excel will allow you do it, it confuses the heck out of me!): Option Explicit Sub mySUBTOTAL() '- select range and run macro Dim MyRange As Range Dim mySubTotalRng As Range Set MyRange = Selection If MyRange.Areas.Count < 1 _ Or MyRange.Columns.Count < 1 Then MsgBox "Please only one area and only one column!" Exit Sub End If With MyRange Set mySubTotalRng = .Cells(.Cells.Count).Offset(1, 0) End With mySubTotalRng.Formula = "=SUBTOTAL(9," & MyRange.Address & ")" mySubTotalRng.Select End Sub Bill wrote: I have a macro that I use to subtotal lines (I took parts of this from other macros on this group and elsewhere and don't know who to give credit to, so thanks whoever you are) Sub SUBTOTAL() '- select range and run macro Dim MyRange As Range Set MyRange = Selection ActiveCell.Offset(MyRange.Rows.Count, 0).Formula = _ "=SUBTOTAL(9," & MyRange.Address & ")" ActiveCell.Offset(MyRange.Rows.Count, 0).Select ' moves to bottom of selection where subtotal was just inserted. End Sub As an example I have numbers in B1:B10, I highlight from B1 down to B10, and hit a button to run the macro. It puts the subtotal in B11. So far so good. If I highlight from B10 up to B1, it puts the subtotal in B20. How do I amend so that I can have it work no matter where I start to highlight? Can I do it to subtotal across, and total on the right? And even better let the macro know if it up/down or across and put the subtotal in the right place. Thanks so much. -- Dave Peterson |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
The macro stops on the OffsetValue with a Compile Error: Value not set.
I am using Excel 2002. Thanks Bill No Spam out to reply. *** Sent via Developersdex http://www.developersdex.com *** Don't just participate in USENET...get rewarded for it! |
#5
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I'm looking for something very similar but I want to be able to hit
macro button when the active cell is directly above the data and i will insert the subtotal formula. Any ideas -- Message posted from http://www.ExcelForum.com |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
2 level subtotal result weird | Excel Discussion (Misc queries) | |||
sort macro, subtotal and add lines after subtotal | Excel Discussion (Misc queries) | |||
macro excel subtotal in subtotal | Excel Discussion (Misc queries) | |||
How to change macro so it performs actions on ACTIVE sheet? | Excel Discussion (Misc queries) | |||
How to hide all the actions while a macro is running | Excel Programming |