Related:
- How add the rows with the same value in a col
- 2007 microsoft office add-in microsoft save as pdf or xps - Download - Other
- How to add at the rate in laptop - Guide
- How to add songs to sound picker - Guide
- How to add photo in word resume - Guide
- How to add someone on messenger with phone number - Guide
2 responses
venkat1926
Posts
1863
Registration date
Sunday June 14, 2009
Status
Contributor
Last seen
August 7, 2021
811
Oct 14, 2010 at 07:00 AM
Oct 14, 2010 at 07:00 AM
the first sheet is called "sheet1"
the second sheet is called "summary"
copy all the macros/function in the standard module
BUT RUN ONLY "A_overall_macro"
prefix A is given so that this macro will be first in the list.
the macros are dynamic that is you can have as many rows or columns.
TRY THIS ON YOUR TRUNCATED DATA AS GIVEN IN THE POST.
post your comments
the second sheet is called "summary"
copy all the macros/function in the standard module
BUT RUN ONLY "A_overall_macro"
prefix A is given so that this macro will be first in the list.
the macros are dynamic that is you can have as many rows or columns.
TRY THIS ON YOUR TRUNCATED DATA AS GIVEN IN THE POST.
Dim r As Range, r1 As Range, c1 As Range, x As String, s As Double Dim j As Long, k As Long Dim m As Long, n As Long, rfilt As Range, ssum As Double Sub idname() With Worksheets("sheet1") Set r = Range(.Range("A1"), .Range("A1").End(xlDown).Offset(0, 1)) r.AdvancedFilter action:=xlFilterCopy, copytorange:=Worksheets("summary").Range("A1"), _ unique:=True End With End Sub
Function Sum_Visible_Cells(Cells_To_Sum As Object) 'reference https://support.microsoft.com/en-us/help/150363 Dim cell As Range, total As Double Application.Volatile For Each cell In Cells_To_Sum If cell.Rows.Hidden = False Then If cell.Columns.Hidden = False Then total = total + cell.Value End If End If Next Sum_Visible_Cells = total End Function
Sub summingup() With Worksheets("sheet1") j = .Range("A1").End(xlToRight).Column m = Worksheets("summary").Range("A1").End(xlDown).Row For k = 3 To j For n = 2 To m With Worksheets("summary") 'msgbox Cells(n, 2).Address x = .Cells(n, 2) 'msgbox x End With Set r = .Range("A1").CurrentRegion 'msgbox r.Address r.Cells.AutoFilter field:=2, Criteria1:=x ssum = Sum_Visible_Cells(Range(.Cells(2, k), .Cells(2, k).End(xlDown))) 'msgbox ssum With Worksheets("summary") .Cells(n, k) = ssum End With r.AutoFilter Next n Next k End With End Sub
Sub A_overall_macro() Worksheets("summary").Cells.Clear idname summingup End Sub
post your comments