Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
164to168
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
164to168
164to168
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

eigene funktion aktuallisieren

eigene funktion aktuallisieren
07.10.2002 00:31:10
meier heinz
Hallo Excel Experten

Ich habe ein Problem wer kann mir helfen ?
Ich habe mir eine Funktion "Min0" in VB Basic als ???.xla geschrieben. Die Funktion soll das Minimum einer Zahlenreihe jedoch grösser als Null ist zurückgeben. Die Funktion funktioniert auch wenn ich sie neu eingeben oder wenn die Tabelle1 in welcher die Funktion angewendet wird beim Laden der Excel Datei die aktuelle Tabelle ist.
Wenn aber nicht Tabelle1 beim Laden der Excel Datei die aktuelle Tabelle ist und ich anschließend auf Tabelle1 wechsele gibt die Funktion immer 0. Auch mit neu berechnen (F9) kann die Funktion nicht aktualisiert werden.
Die Funktion gibt erste den richtigen Werte zurück, wenn ich sie mit suchen und ersetzen aktualisierte.
Beispiel:
A1 = 1
A2 = 2
A3 = 0
A4 = 3

A5 = Min0(A1:A4) ergibt 1 (richtig)
A5 = Min0(A1:A4) ergibt 0 (falsch)


'==================
Public Function Min0(Zelle_R As Range)
Zeil_Beg = Zelle_R.Row
Spalt_Beg = Zelle_R.Column
Zeil_E = Zelle_R.Rows.Count + Zelle_R.Row - 1
SPALT_E = Zelle_R.Columns.Count + Zelle_R.Column - 1
'wert_1 = 0
Min0 = wert_1
wert_2 = 999999999
For I1 = Zelle_R.Row To Zeil_E
For I2 = Spalt_Beg To SPALT_E
wert_1 = Cells(I1, I2).Value
If wert_1 > 0 And wert_1 <= wert_2 Then wert_2 = wert_1
Next I2
Next I1
If wert_2 > 999999998 Then Min0 = 0.001 Else Min0 = wert_2
End Function
'==================

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: eigene funktion aktuallisieren
07.10.2002 07:20:04
Nike
Hi,
gib mal innerhalb deiner Funktion
Application.Volatile
ein, vielleicht hilfts ja.

Bye

Nike

Re: eigene funktion aktuallisieren
07.10.2002 07:24:17
JürgenR
Re: eigene funktion aktuallisieren
07.10.2002 18:46:12
heinz meier
mit
Application.Volatile
funktioniers.

vielen Dank
heinz meier

Re: eigene funktion aktuallisieren
07.10.2002 18:48:24
heinz meier
es fuktioniert

vielen dank

Re: eigene funktion aktuallisieren
07.10.2002 20:24:55
Hans W. Hofmann
Hallo Jürgen,

meint Deine Funktion etwas folgendes?

Der Killer in Deiner Funktion ist
wert_1 = Cells(I1, I2).Value
hier baust Du einen Seiteneffekt ein. Du mußt, solltest auch mit dem Bezug rechnen, den Du im Funktionskopf übergeben hast. Dann kannst Volatile vergessen.

Gruß HW

Re: eigene funktion aktuallisieren
08.10.2002 07:25:02
JürgenR
Moin Hans,

das ist nicht meine Function. Ich hab die nicht getestet, da die Frage war, wie man eine Function zum Rechnen bringt. Aber Danke für den Hinweis :-)

Schönen Tag
Jürgen

Anzeige
Re: eigene funktion aktuallisieren
08.10.2002 09:45:09
Hans W. Hofmann
Ich hab mir erlaubt, in Deiner Konstruktion überflüssige Vereinbarungen zu entsorgen ;-). Nochmal statt
wert_1 = Cells(I1, I2).Value
wo Du unter Umgehung des Übergabewertes auf das Tabellenblatt zugreifst. Hier mußt Du Dich auf
Zelle_R(i) beziehen, damit die Funktion Änderungen des Eingangswertes mitbekommt.

Gruß HW

Re: eigene funktion aktuallisieren
09.10.2002 02:54:41
heinz meier
Danke an Hans W. Hofmann von heinz
du hast mir sehr geholfen mit deiner lösung funktionierts
einwandfrei.

Public Function Min0(Bereich As Range)
Min0 = WorksheetFunction.Max(Bereich, k_wert)
For i = 1 To Bereich.Count
If Bereich(i) > 0.001 And Bereich(i) < Min0 Then Min0 = Bereich(i)
Next
End Function

Danke und gruss heinz

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige