AW: Na weeßte, meen Lieba, jelbe Schrift uff...
19.06.2009 19:01:27
Fred
...ich bin wieder ein Stück weiter durch Ausprobieren.
2 konkrete Fragen habe ich - die erste betrifft den VBA Code mit der Formel:
Function FCalculateDenom(strRatePercCol As String, rngUserResponse As Range)
'Application.Volatile
Dim rngUserRespCell As Range
Dim rngRatePercCell As Range
Dim varFinalValue As Variant
Dim varMaxUserRespCodeValue
varFinalValue = 0
varMaxUserRespCodeValue = 3
strQuestionaireName = "Pyramid Questions"
For Each rngUserRespCell In rngUserResponse
If rngUserRespCell.Value "NA" Then
Set rngRatePercCell = Sheets(strQuestionaireName).Range(strRatePercCol & CStr( _
rngUserRespCell.Row))
varFinalValue = varFinalValue + rngRatePercCell.Value
End If
Next rngUserRespCell
FCalculateDenom = varFinalValue * varMaxUserRespCodeValue
End Function
Die Zeile:
strQuestionaireName = "Pyramid Questions"
benennt das Tabellenblatt, auf dem die Berechnung über VBA laufen soll - ok, habe ich verstanden...
Nach Umbenennen auf ein anderes Blatt in dieser Zeile rechnet dementsprechend das ander Blatt richtig.
Erste Frage: Was muss in den Code rein (oder raus...) dass diese Berechnung in allen anderen Blättern auch funktioniert?
Zweite Frage (und das muss mir mal wirklich jemand erklären...): In Exel selbst kann man per F9 die Berechnung aktualisieren. Wenn jetzt die Umbenennung in VBA in b esagter Zeile stattgefunden hat, ist ja die Berechnung auf dem nicht genannten Blatt hin. Nach "Rückbenennung und F9 tut sich erst mal nichts. Erst nach Ändern der Werte in den jeweiligen Zellen rechnet das Blatt wieder richtig.
Muss ich also Berechnungen über VBA Code anders als mit F9 aktualisieren?