Hallo ich brauche Hilfe bei folgender Funktion:
Diese Funktion überprüft in einem anderen Worksheet (Sheename), von Rs zu Rf und von Cs zu Cf, ob genannte String auftauchen.
Funktion (detect_n_i_O existiert auch, sucht aber nach anderen Strings)
Public Function detect_i_O(Sheetname As String, Rs As Integer, Cs As Integer, Rf As Integer, Cf As Integer) As Integer
With Worksheets(Sheetname)
detect_i_O = Application.WorksheetFunction.CountIf(.Range(.Cells(Rs, Cs), .Cells(Rf, Cf)), "i?O?") + Application.WorksheetFunction.CountIf(.Range(.Cells(Rs, Cs), .Cells(Rf, Cf)), "i?O")
Exit Function
End With
End Function
Diese Funktion wird an einer anderen Stelle in dieser Form verwendet.
Cells(7, 4).FormulaR1C1 = "=detect_i_O(""Schweißen"", 2, 5, 999, 5) + detect_n_i_O(""Schweißen"", 2, 5, 999, 5)"
Cells(7, 5).FormulaR1C1 = "=detect_i_O(""Schweißen"", 2, 5, 999, 5)/C[-1]"
Cells(7, 6).FormulaR1C1 = "=detect_n_i_O(""Schweißen"", 2, 5, 999, 5)/C[-2]"
Folgendes Problem: in Cells(7, 4 bis 6) werden die Zählwerte nicht aktualisiert,
d.h. bei Änderungen im Worksheet "Schweißen" ändert sich der Inhalt von den genannten Zellen nicht.
Nur (wirkluch nur, auf neu berechnen klicken usw. zeigt keine Veränderung) durch Doppelklicken und drücken von "Enter", wird der Wert aktualisiert.
Überall wurde die Formelberechnung auf automatisch gestellt. Die Zellen sind alle als Standard formatiert.
Sitze jetzt schon ziemlich lange da und komme nicht weiter. Liegt es an der Funktion? Oder ist irgendwo ein Häckchen zu viel/zu wenig.
Vor 3 Tagen funktionierte alles perfekt, es wurde seitdem nichts an dem Code geändert.
|