Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1156to1160
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Funktion rekursiv aufrufen ?

Funktion rekursiv aufrufen ?
ing.grohn
Hallo Forum,
in einer Rechnungstabelle wird in Spalte B die "Artikelnummer" eingetragen. Drei benutzerdfinierte Funktionen holen den "Artikel"-Text (Spalte C), den Einheitspreis (Spalte G) und den Steuerschlüssel (Spalte E). Nun kommt es vor, dass eine Artikelnummer zwingend eine Folgeartikelnummer hat (wenn Abwesenheitsgeld berechnet wird, muss auch Kilometergeld gerechnet werden). Der Artikel Kilometergeld kann allerdings auch alleine gerechnet werden.
Wie mach ich das?
Ich habe hier eine Beispielfunktion:
Function Texte(Vergleich As String) As String
Dim Text As String
Dim EndeText As String
Dim Ende As Integer
EndeText = Sheets("Konstanten").Range("G3").Value
Ende = Val(Mid(EndeText, InStr(2, EndeText, "$") + 1))
Texte = Sheets("Konstanten").Range("G17").Value 'Text, falls Art-Nr nicht vorhanden
For I = 18 To Ende
Zeile = Format(I, "0")
Text = Sheets("Konstanten").Range("F" + Zeile).Value
If Text = Vergleich Then
Text = Sheets("Konstanten").Range("G" + Zeile).Value
Texte = Text
Exit Function
End If
Next I
End Function

Vielen Dank für die freundliche Unterstützung
Mit freundlichen Grüßen
Albrecht

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
mit VBA-Funktion?
12.05.2010 13:14:43
Erich
Hi Albrecht,
so wie du das vorhast, dürfte das kaum klappen. Mit "rekursiv" hat das wenig zu tun. :-(
Eine solche Fkt. liefert einen Wert. Sie ändert (außer ihrem eigenen Wert natürlich) nichts.
Probier es einfach aus: Schreib in eine Fkt mal testhalber eine Zeile Range("CC1")=1 (wenn CC1 leer ist)
Es wird einen Laufzeitfehler geben, wenn du die Fkt. in einer Formel aufrufst.
Du verwendest sie in einer Formel, die du in eine Zelle schreibst.
Der Wert der Zelle ist der Wert der Formel, der Wert der Formel hängt (auch) vom Wert der Fkt. ab.
In welcher Zelle steht deine Fkt.? In welchen weiteren Zellen sollte durch die Fkt. etwas geändert werden?
Was, wenn in diesen weiteren Zellen schon etwas steht? Das passt alles nicht.
Warum arbeitest du hier überhaupt mit VBA-Funktionen? Das kann Excel doch auch.
Hier mal eine Mappe mit ein paar Möglichkeiten:
https://www.herber.de/bbs/user/69558.xls
Was du möchtest, lässt sich aber sicher mit einer VBA-Prozedur erledigen,
die auch evtl. benötigte Zeilen oder Spalten einfügen kann.
Dazu wären aber weitere Infos nötig:
Wann und wie soll die Prozedur gestartet werden?
Wo und wie ist niedergelegt, welche Artikel welche Folgeartikel haben?
Wo sollen die Folgeartikel eingefügt werden?
Gut wäre sicher eine Beispielmappe (nicht XL2007ff).
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: mit VBA-Funktion?
13.05.2010 14:55:25
ing.grohn
Hallo Erich,
bin erst vorhin dazu gekommen, die Nachricht zu lesen.
Ich bin eigentlich schon weg, wahrscheinlich Montag zurück und würd mich dann melden.
Vielen Dank für die ANtwort.
Mit freundlichen Grüßen
Albrecht

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige