Mefisto...diabeĹ czy anioĹ?
Witam,
Czy ktoś pomoże mi zmienić makro, a właściwie zakresy jego działania? Np. Sumowanie wedle kolumny A w pełnym zakresie, a sumowane są wartości wszystkich identycznych wartości (tekstowe kolumny A) kolumn B-N (bez jakichś tam przerw) ?
Dziekuję.
Sub sumy()
Dim pocz As Long
Dim midd As Long
Dim ost As Long
Dim i, j As Long
Dim kategoria As String
Dim zakres As Range
Dim arkusze As Long
midd = 3
pocz = 3
kategoria = UCase(Cells(3, 1))
arkusze = Range("C1").CurrentRegion.Columns.Count
ost = Columns(1).Find(What:="*", after:=Columns(1).Cells(1, 1), searchdirection:=xlPrevious).Row
For i = 3 To ost + 1
If UCase(Cells(i, 1)) <> kategoria Then
Set zakres = Range(Cells(pocz, 3), Cells(i - 1, arkusze + 2))
With Sheets("Arkusz2")
On Error Resume Next
.Cells(midd, 1) = kategoria
For j = 1 To arkusze
.Cells(midd, j + 2) = Application.WorksheetFunction.Sum(zakres.Columns(j))
Next j
On Error GoTo 0
kategoria = UCase(Cells(i, 1))
midd = midd + 1
End With
pocz = i
End If
Sheets("Arkusz1").Select
Next i
End Sub
zanotowane.pl doc.pisz.pl pdf.pisz.pl katkaras.opx.pl
Czy ktoś pomoże mi zmienić makro, a właściwie zakresy jego działania? Np. Sumowanie wedle kolumny A w pełnym zakresie, a sumowane są wartości wszystkich identycznych wartości (tekstowe kolumny A) kolumn B-N (bez jakichś tam przerw) ?
Dziekuję.
Sub sumy()
Dim pocz As Long
Dim midd As Long
Dim ost As Long
Dim i, j As Long
Dim kategoria As String
Dim zakres As Range
Dim arkusze As Long
midd = 3
pocz = 3
kategoria = UCase(Cells(3, 1))
arkusze = Range("C1").CurrentRegion.Columns.Count
ost = Columns(1).Find(What:="*", after:=Columns(1).Cells(1, 1), searchdirection:=xlPrevious).Row
For i = 3 To ost + 1
If UCase(Cells(i, 1)) <> kategoria Then
Set zakres = Range(Cells(pocz, 3), Cells(i - 1, arkusze + 2))
With Sheets("Arkusz2")
On Error Resume Next
.Cells(midd, 1) = kategoria
For j = 1 To arkusze
.Cells(midd, j + 2) = Application.WorksheetFunction.Sum(zakres.Columns(j))
Next j
On Error GoTo 0
kategoria = UCase(Cells(i, 1))
midd = midd + 1
End With
pocz = i
End If
Sheets("Arkusz1").Select
Next i
End Sub