Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

suche Benutzerdefinierte Funktion
#1
Hallo zusammen,
da ich mich mit der Syntax nicht auskenne wäre ich über Hilfe sehr dankbar.

Ich muss regelmäßig berechnen wie oft ein Wert zB. durch 150 teilbar ist und wie groß der REST ist.
Ich suche also die Syntax einer benutzerdefinierten Funktion für folgende Formel:


=WENN((A1)<0;"- ";"+ ")&GANZZAHL(ABS(A1)/B1)&" . "&TEXT(REST(ABS(A1);B1);"000")

Beispiel
A1 = 6671 = Wert (sowohl positiv wie negativ möglich)
B1 =   150 = Teiler
Ergebnis (Text) = + 44 . 071


Das gleiche wenn möglich in einer weiteren Funktion auch umgekehrt.
A1= + 44 . 071
B1=150
Ergebnis = 6671
Meine Formel :
=(ABS(GLÄTTEN(LINKS(WECHSELN(A1;".";WIEDERHOLEN(" ";50));10)))*B1+TEIL(A1;FINDEN(".";A1)+2;99))*WENN(ISTFEHLER(FINDEN("-";A1));1;-1)

Ich habe einfach mal einige Werte in eine Liste eingegeben und die Formeln die ich ersetzen möchte eingefügt


Danke und LG
Holger


Angehängte Dateien
.xlsx   Benutzerdefinierte Funktion.xlsx (Größe: 17,62 KB / Downloads: 4)
Antworten Top
#2
Hallo,

auf die Schnelle (ist sicher Verbesserungsfähig):
Code:
Public Function TeilerErmitteln(Wert As Long, Teiler As Long) As String
    TeilerErmitteln = IIf(Wert < 0, "- ", "+ ") & Abs(Wert) \ Teiler & " . " & Format(Abs(Wert) Mod Teiler, "000")
End Function
Public Function TeilerRueckrechnung(Eingabe As String, Teiler As Long) As Long
Dim temp
    temp = Split(Eingabe, " . ")
    TeilerRueckrechnung = IIf(Left(Eingabe, 1) = "-", -1, 1) * (Abs(CLng(temp(0))) * Teiler + temp(1))
End Function
Gruß
Michael
[-] Folgende(r) 1 Nutzer sagt Danke an Der Steuerfuzzi für diesen Beitrag:
  • echo
Antworten Top
#3
Hallo Michael
ich bedanke mich recht herzlich, funktioniert perfekt und sieht in der Liste doch viel besser aus wie meine Formel!


GELÖST

Allen fleißigen Helfern in diesem tollen Forum auf diesem Wege noch mal DANKE.
Alle Zusammen, einen guten Rutsch sowie ein glückliches und gesundes Jahr 2019.

Gruß Holger
Antworten Top
#4
Hallo, :19:

nur als Ergänzung zu Michaels Funktion:

Wenn Du eine funktionierende Formel hast, dann kannst du das in VBA immer mit der Funktion Evaluate (die noch viel mehr kann) ausgeben lassen. Ich habe es mal in Dein Beispiel mit eingetragen: :21:

.xlsb   Benutzerdefinierte Funktion.xlsb (Größe: 17,31 KB / Downloads: 3)

Dir auch einen Guten Rutsch und ein Gutes Neues Jahr...
________
Servus
Case
[-] Folgende(r) 1 Nutzer sagt Danke an Case für diesen Beitrag:
  • echo
Antworten Top
#5
(30.12.2018, 20:10)Case schrieb: nur als Ergänzung zu Michaels Funktion:
Wenn Du eine funktionierende Formel hast, dann kannst du das in VBA immer mit der Funktion Evaluate (die noch viel mehr kann) ausgeben lassen. Ich habe es mal in Dein Beispiel mit eingetragen: :21:

Hallo @ Case
Mit der Info ist für mich eine benutzerdefinierte Funktion einfacher zu erstellen. DANKE
da kommt jetzt aber sofort eine neue Frage auf:
Du hasst die Datei als *.xlsb gespeichert. Wo liegt der Unterschied zu *.xlsm
Gruß Holger
Antworten Top
#6
Hallo Holger, :19:

ich speichere meine Dateien in der Regel immer im "XLSB-Format". Hier werden die Daten binär gespeichert. Die Datei ist vom Speichervolumen kleiner, öffnet und speichert scheller. :21:
________
Servus
Case
[-] Folgende(r) 1 Nutzer sagt Danke an Case für diesen Beitrag:
  • echo
Antworten Top
#7
DANKE
Guten Rutsch und ein Gutes Neues Jahr...
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste