in einem Tool das von Usern mit unterschiedlichen Excel-und Sprachversionen verwendet wird, _
rufe ich zum Umrechnen von einer Masseinheit in eine andere folgende Funktion auf:
Function XConvert(Old_number As Long, from_unit As String, to_Unit As String)
Dim Conv_Factor As Double
Dim from_col As Integer
Dim to_row As Integer
from_col = Application.WorksheetFunction.Match(from_unit, X_Convert.Range("a3:F3"), 0)
to_row = Application.WorksheetFunction.Match(to_Unit, X_Convert.Range("c1:c99"), 0)
Conv_Factor = X_Convert.Cells(to_row, from_col).Value + 0
XConvert = Old_number * Conv_Factor
End Function
Die Tabelle XConvert findet Ihr hier: https://www.herber.de/bbs/user/68052.xls
Die eingebaute Funktion aus dem Analysis tool pack (convert) kann ich aufgrund der unterschiedlichen Sprachversionen leider nicht verwenden. Die Funktion funktioniert soweit ganz gut. Ärgerlich ist nur, dass die Funktion automatisch aufgerufen wird, sobald meine anderen Makros in irgendeiner Zelle einen Wert oder eine Formel reinschreiben. Dies zieht die Performance meines Tools gnadenlos runter.
Ich könnte natürlich noch einen weiteren parameter mitgeben, sowas in der art wie
gewollter_aufruf = true
wobei ein false direkt zum ende der Funktion führen würde.
Gibt es hier eine elegantere Möglichkeit?
Danke für Euer schnelles Feedback
Gruss Fettertiger