ich rufe eine VBA-Funktion über die Formeleingabe in einer Excel-Tabellenzelle auf
mit =meineFunktion(Inputwert).
Wenn diese VBA-Funktion aus der Tabelle aufgerufen wird, möchte ich temporär ein neues Tabellenblatt in der aktiven Arbeitsmappe einfügen, um den Excel-Solver darin zu nutzen.
Ich versuche das beispielsweise über
Public Function meineFunktion(Input as Double) as Double
With ThisWorkbook
.Sheets.Add
ActiveSheet.Name = Bezeichnung
End With
End Function
Der Code der Funktion liegt in einem VBA-Modul vor.Das Tabelle einfügen schlägt jedoch fehl und funktioniert nur, wenn ich den VBA-Code zum Tabelle einfügen aus einer Sub oder dem Direktfenster heraus durchführe.
Gibt es irgend einen Weg, Tabellenblätter auch aus Funktionen heraus einzufügen, die aus einem Arbeitsblatt aufgerufen werden?
Ich benötige das, da ich in der VBA-Funktion als Zwischenschritt den Excel-Solver für ein nichtlineares Gleichungssystem nutzen will und der Excelsolver in VBA nur über ein Tabellenblatt läuft. Das temporär erzeugte Tabellenblatt soll dann nach der Solverroutine wieder gelöscht werden und nur das Endergebnis als Double-Wert über die Funktion in die Tabellenzelle zurückgegeben werden, in der die Funktion aufgerufen wurde.
Vielen Dank im Vorraus für Eure Hilfe.