Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

Thema

Benutzerdefinierte Funktion durch Code erstellen und löschen

Gruppe

Prozedur

Problem

Wie kann ich über VBA-Code eine benutzerdefinierte Funktion erstellen, aufrufen und wieder - mit dem Aufruf - löschen?

Lösung
Geben Sie den nachfolgenden Code in ein Standardmodul ein und weisen Sie ihn einer Schaltfläche zu.

ClassModule: Tabelle11

Private Sub cmdNewFunction_Click()
    Call FunktionAnlegen
End Sub
 

StandardModule: basMain

Sub FunktionAnlegen()
   Dim bas As Object
   Dim iStart As Integer
   With ThisWorkbook.VBProject.VBComponents("basFunction").CodeModule
      .InsertLines 3, "Function Berechnen(dValue As Double) As Double"
      .InsertLines 4, "   Berechnen = dValue * 12"
      .InsertLines 5, "End Function"
   End With
   Call FunktionAufrufen
End Sub

Sub FunktionAufrufen()
   Dim iStart As Integer, iCount As Integer
   MsgBox "Ergebnis der Funktion Berechnen:" & Berechnen(5)
   If MsgBox("Funktion löschen?", vbQuestion + vbYesNo) _
      = vbNo Then Exit Sub
   With ThisWorkbook.VBProject.VBComponents("basFunction").CodeModule
      .DeleteLines 1, .CountOfLines
   End With
End Sub

    

Beiträge aus dem Excel-Forum zu den Themen VBE und Prozedur