HERBERS Excel-Forum - die Beispiele

Thema: Eigene Funktionskategorien erstellen

Home

Gruppe

UDF

Problem

Wie kann ich eigene Funktionskategorien erstellen

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

Die nachfolgende Lösung stammt von Laurent Longre:

Const Lib = """c:\windows\system\user32.dll"""
Option Base 1

Private Function Multiply(N1 As Double, N2 As Double) As Double
  Multiply = N1 * N2
End Function

==========================================

Private Function Divide(N1 As Double, N2 As Double) As Double
  Divide = N1 / N2
End Function

==========================================

Sub Auto_open()
  Register "DIVIDE", 3, "Numerator,Divisor", 1, "Division", _
    "Divides two numbers", """Numerator"",""Divisor """, "CharPrevA"
  Register "MULTIPLY", 3, "Number1,Number2", 1, "Multiplication", _
    "Multiplies two numbers", """First number"",""Second number """, _
    "CharNextA"
End Sub

==========================================

Sub Register(FunctionName As String, NbArgs As Integer, _
  Args As String, MacroType As Integer, Category As String, _
  Descr As String, DescrArgs As String, FLib As String)

  Application.ExecuteExcel4Macro _
  "REGISTER(" & Lib & ",""" & FLib & """,""" & String(NbArgs, "P") _
  & """,""" & FunctionName & """,""" & Args & """," & MacroType _
  & ",""" & Category & """,,,""" & Descr & """," & DescrArgs & ")"
End Sub

==========================================

Sub Auto_close()
  Dim FName, FLib
  Dim I As Integer
  FName = Array("DIVIDE", "MULTIPLY")
  FLib = Array("CharPrevA", "CharNextA")
  For I = 1 To 2
    With Application
      .ExecuteExcel4Macro "UNREGISTER(" & FName(I) & ")"
      .ExecuteExcel4Macro "REGISTER(" & Lib & _
        ",""CharPrevA"",""P"",""" & FName(I) & """,,0)"
      .ExecuteExcel4Macro "UNREGISTER(" & FName(I) & ")"
    End With
  Next
End Sub

Beiträge aus dem Excel-Forum zu den Themen UDF und Anwendung

Laufzeitfehler 1004: Anwendungs- oder objektorient Lohnsteuerberechnung (UDF, XLM-Datei, Webabfrage)
Ergebnis UDF ändert, wenn Tabelle deaktiviert wird UDF soll nicht auf Daten anderer Dateien zugreifen
Exel immer in neuer Anwendung öffnen vor Ausführung einer UDF Zwischenspeicher "retten&
UDF - Argument ohne " " übergeben möglic anwendungen öffnen
VBA Anwendung schließen Beliebige Anwendung in VBA schließen
AW: Fertige Anwendungen/Formulare Fertige Anwendungen/Formulare.
UDF- Beschreibung Anwendungs- oder objektori. Fehler
Berechnungsdauer einer UDF messen Laufende Anwendung ermitteln und beenden
Laufzeitfehler 1004, Anwendungs und obj. eine datei in anwendung
Diagramme in Vektorformat für andere Anwendungen? Nur eine Mappe pro Anwendung
Anwendung im Vordergrund Hintergrudfarbe ändern??? Finde keine Lösung :-(
Anwendungs- oder objektdefinierter Fehler andere anwendung steuern, mauszeiger auslesen?
Probleme mit IsNumeric, Code per UDF UDF mittels Ereignis aktualisieren?
if then Anwendung in einem Makro MsgBox anzeigen / Zellen auswählen / Anwendung ?
Formatierung für fremde Anwendung Meldung bei nicht geöffneter Anwendung
Name der aktiven Anwendung Anwendungs- oder Objektbezogener Fehler
UDF, Minuszeichen vor Zahl auswerten Anwendungen in verschiedenen Fenstern öffnen
Anwendungs- oder objektdefinierter Fehler nach Worksheet_Change werden UDF nicht ausgewertet
Problem mit dem Schließen der Excel-Anwendung Anwendungen schliessen und Windows herunterfahren
Excel anhalten bei UDF Anwendungsfehler With ThisWorkbook.Worksheets ...
UDF Hardcopy aus anderer Anwendung einfügen
UDF, Rückgabewert Text anstelle Zahl Aufruf einer UDF, Fehler Objekt erforderlich
SQL in UDF Tabelle aus anderer Anwendung formatieren
Wechsel zwischen Anwendungen mit VBA andere Excelanwendung öffnen
Anwendung aufrufen per Makro ChDir-Anwendung