Sumowanie wartości komórek przez kopiowanie
Zaznaczenie kilku komórek zawierających wartości powoduje wyświetlenie ich sumy w pasku stanu. Ale jak sprawić by excel pamiętał tę sumę i pozwalał ją wkleić do komórki? Byłem kiedyś w takiej potrzebie i napisałem następujący kod:
Public suma
Sub licz_sume()
suma = 0
Dim mrange As Range
Set mrange = Selection
For Each komorka In mrange
If IsNumeric(komorka.Value) = True Then
suma = suma + komorka.Value
End If
Next
Application.OnKey "^z", "zwroc_sume"
Application.StatusBar = "Suma wynosi: " & suma
End Sub
Sub zwroc_sume()
Selection.Value = suma
Application.OnKey "^z", "licz_sume"
Application.StatusBar = False
End Sub
Sub auto_open()
Application.OnKey "^z", "licz_sume"
End Sub
Działa to w następujący sposób: zaznaczamy interesujący nas obszar, naciskamy "ctrl+z", przechodzimy do komórki, w którą chcemy wkleić sumę i ponownie naciskamy "ctrl+z".
Jeżeli chcemy by był to inny klawisz w linii Application.OnKey "^z", "licz_sume" zamieńmy literę "z" na inną.