Makro sumujące bez ukrytych komórek.
Dodane przez piotr dnia March 03 2007 20:40:08
Jeżeli mamy zakres komórek, które zawieraja w sobie ukryte wiersze lub kolumny Excel nie zawiera prostego sposobu sumowania tylko widocznych komórek.
Funkcja SUMA doda wszystkie liczby , także z komórek ukrytych. Funkcja SUMY.POŚREDNIE ignoruje ukryte wiersze tylko jeżeli są one ukryte na skutek użycia Autofiltra lub filtra zaawansowanego.
Oto przykład użycia funkcji zdefiniowanej jako makro dodającej tylko komórki, które są widoczne w wybranym zakresie, aby jej użyć wpisz w wybranym miejscu arkusza:
=Sum_Visible_Cells(A1:A5)

gdzie A1:A5 jest zakresem z którego chcemy uzyskać sumę.

A teraz najciekawsze. Funkcję, o której mówimy, można zdefiniować za pomocą edytora Vbasic'a następująco:


Function Sum_Visible_Cells(Cells_To_Sum As Object)
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



Uwaga: jeżeli odkryje się, którąś z kolumn lub wierszy dotąd ukrytych w zakresie sumowania formuła nie przeliczy się automatycznie nawet jeżeli jest ustawione automatyczne przeliczanie arkusza. Przy włączonej tej ostatniej opcji tylko wykonanie następujących czynności spowoduje przeliczenie:
1) edycja komórki lub arkusza,
2) naciśnięcie klawisza F9 (wymuszające przeliczenie),
3) zamknięcie zeszytu.