Solved

Sum it Please

Posted on 2013-01-29
12
186 Views
Last Modified: 2013-01-31
Hello All,

I am looking for a VBA solution to do this. I know pivot does this but there are format issues and other things users don’t like. I am staying away from pivot. So what I want to do:
There is a input sheet: where you see that there are groups and underneath those groups, there are parts.
Both the groups and parts have their allocated dollar numbers.
I need a vBA way that dynamically grabs the unqiue values from the table and puts them in a format (look at ‘DesiredSummaryFormat’ sheet
I explained in that sheet how the change (positive / negative)  gets added to the original number as the changed number column

So a dynamic way to create the summary table and then using simple r1c1 or cell formula to drag it across…
Please assist….

Thanks
Book1.xlsx
0
Comment
Question by:Rayne
  • 9
  • 2
12 Comments
 
LVL 24

Assisted Solution

by:Steve
Steve earned 40 total points
ID: 38834185
OK... first using 2007+ Highlight your DataInputTable go to DATA > INSERT > TABLE
This will creat a table to allow for use of table refs in the formula rather than the named ranges.

then use SUMIFS rather than SUMPRODUCT in the desired table.


you say:
GRPAllocated$Changed = GRPAllocated$+changes
wheres changes =GRPAllocated$NEW- GRPAllocated$


this means that
GRPAllocated$Changed  =GRPAllocated$+GRPAllocated$NEW- GRPAllocated$
this means that:
GRPAllocated$Changed  = GRPAllocated$NEW
Is this correct?

Attached file with SUMIFS and TABLE...
Book1.xlsx
0
 
LVL 14

Expert Comment

by:Faustulus
ID: 38834809
This will take a little time. I'm working on it.
0
 

Author Comment

by:Rayne
ID: 38836243
Hello All,
Thanks for your reply so far.

The Barman - To indicate and explain clearly, I have attached a file
trackChangeAndSumUp.xlsx
0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

Author Comment

by:Rayne
ID: 38836284
Don't worry about points, I can open a follow up question for further points, I am very generous
Copy-ofUpdated.xlsx
0
 

Author Comment

by:Rayne
ID: 38836285
this is all whats needs to happen
0
 

Author Comment

by:Rayne
ID: 38836308
but dont worry about the registering the row Update to TRUE thing - thats doesn't needs to happen in this question.
0
 

Author Comment

by:Rayne
ID: 38836370
CopyofUpdated explains the source data but summary needs to form out of that data :)
0
 

Author Comment

by:Rayne
ID: 38836372
in a separate sheet
0
 

Author Comment

by:Rayne
ID: 38836506
I guess I can use a pivot, only if users make changes, all they do it refresh the pivot correct - -its that possible from my source data that I explained. Please Assist.
pivotV.xlsx
0
 

Author Comment

by:Rayne
ID: 38836507
please let me know howt o do the pivot in that format
0
 
LVL 14

Accepted Solution

by:
Faustulus earned 460 total points
ID: 38838830
The attached workbook has a macro by the name of SumInputData. You can call it from the Macros menu on the Developer tab or, if you are familiar with VBA, from the VBE window. This macro will convert your data on the DataInputSheet into a report on the sheet DesiredSummaryFormat following your design. Note that this sheet must have one blank report row to begin with. You can endow this row with the cell formats you require and even add formulas which will all be copied to all rows later added to the sheet when the report is prepared.
I am not sure that the two Change columns show the correct result. That is a minor matter. Please look at the available totals being written there. If you wish them to be computed in a different manner that is quite simple. Note also that I omitted the Change group totals intentionally. They can be reinstated if required.
At the top of the code sheet ReportMan you will find a number of constant variables and enums which you can adjust:-
    Const InputSheet As String = "DataInputSheet"
    Const ReportSheet As String = "DesiredSummaryFormat"
    Const TotalDesc As String = "Total"
    
    Private Enum Nin            ' Input sheet
        NinFirstData = 2
        NinGroup = 3            ' columns: 3 = C
        NinPart
        NinDate
        NinGrpA
        NinGrpNew
        NinPrtA
        NinPrtNew
        NinTop                  ' Last column + 1
    End Enum
    
    Private Enum Nrp            ' Report sheet
        NrpFirstData = 5        ' row
        NrpDesc = 2             ' column: 2 = B
        NrpGrpA
        NrpGrpChg
        NrpPrtA
        NrpPrtChg
    End Enum

Open in new window

For example, you can change the names of the worksheets. Just make sure that the name in the code is exactly the same as in the workbook. You can change the first row of data and all the columns for both worksheets. I think the variable names are rather self-explanatory. Just bear in mind that any enum can be assigned an integer in the manner shown. Where no value is assigned the first enum is assigned a zero and all others a value incremented by 1 from the previous enum in the list, whether it has an assigned number or a "natural" one. However, if you need help with any of this do let me know.
130130-Allocation-Report.xlsm
0
 

Author Comment

by:Rayne
ID: 38839874
AWESOME Faustulus
thats works like GOLD
Thank You :)
0

Featured Post

Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Using Word 2013, I was experiencing some incredible lag when typing.  Here's what worked for me....
Do you use a spreadsheet like Microsoft's Excel?  Have you ever wanted to link out to a non excel file on your computer or network drive?  This is the way I found to do it!
This Micro Tutorial demonstrates using Microsoft Excel pivot tables, how to reverse engineer competitors' marketing strategies through backlinks.
Excel styles will make formatting consistent and let you apply and change formatting faster. In this tutorial, you'll learn how to use Excel's built-in styles, how to modify styles, and how to create your own. You'll also learn how to use your custo…

749 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question