Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

UDF - pos. oder neg. Wert in ausgeblendet. Bereich

UDF - pos. oder neg. Wert in ausgeblendet. Bereich
26.09.2008 21:20:00
Peter
Guten Abend
Ich möchte mit Hilfe einer Funktion (z.B. yWert) abfragen, ob innerhalb einem benannten Bereich (z.B. "Zahlenteil") positive oder negative Werte in ausgeblendeten Zeilen enthalten sind. Falls dies zutrifft, sollte die Rückgabe der Tabellenname sowie die betreffenden Zelladressen beinhalten.
Annahme Variante 1:
"Zahlenteil" bezieht sich auf Auswertung!B17:c40
Im ganzen Bereich ist keine Spalte / Zeile ausgeblendet
die Formel =yWert("Zahlenteil") ergibt den Wert 0
Annahme Variante 2:
"Zahlenteil" bezieht sich auf Auswertung!B17:c40
Im ganzen Bereich sind die Zeilen 20 und 21 ausgeblendet
In B20 und C21 ist eine positive oder negative Zahl enthalten
die Formel =yWert("Zahlenteil") ergibt als Rückgabe "Auswertung!B20;C21"
Kann mir jemand auf die Sprünge helfen?
Vielen Dank, Peter

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: UDF - pos. oder neg. Wert in ausgeblendet. Bereich
26.09.2008 23:14:06
Gerd
Hallo Peter !

Public Function yWert(Bereichsnamen As String) As String
Dim Wks As Worksheet, Zelle As Range, rng As Range, strVersteckte As Boolean
Set Wks = Worksheets(Range(Bereichsnamen).Parent.Name)
With Wks
For Each Zelle In .Range(Bereichsnamen)
If .Rows(Zelle.Row).Hidden = True Or .Columns(Zelle.Column).Hidden = True Then
strVersteckte = True
If IsNumeric(Zelle.Value) Then
If Zelle.Value  0 Then
If rng Is Nothing Then
Set rng = Zelle
Else
Set rng = Union(rng, Zelle)
End If
End If
End If
End If
Next
End With
yWert = IIf(strVersteckte = True, "keine Werte", "keine ausgeblendet")
If Not rng Is Nothing Then yWert = Split(rng.Address(False, False, xlA1, True), "]")(1)
End Function


Gruß Gerd

Anzeige
AW: Super, kleine Anschlussfrage
27.09.2008 15:02:33
Peter
Hallo Gerd
Vielen Dank - das funktioniert, wie gewünscht.
Damit bei Änderungen die Formel neu ausgewertet wird und ich nicht mit Application.Volatile arbeiten muss, habe ich noch ein weiteres Argument eingefügt, das ich jeweils mit HEUTE() übergebe.
Public Function yWert(Bereichsnamen As String, dummy As Date) As String
Interessanterweise habe ich festgestellt, dass die Formel automatisch neu berechnet wird, wenn ich Zeilen mit Zahlen aus- oder einblende; wenn ich jedoch Spalten mit Zahlen ein- oder ausblende erfolgt die Neuberechnung erst, wenn ich irgend eine Eingabe in der Tabelle vornehme. Die ein- resp. ausgeblendeten Zeilen, resp. Spalten betreffen immer auch den Bereich, den ich mit dem ersten Argument übergebe.
Gibt es dazu einen plausiblen Grund?
Vielen Dank für die Unterstützung.
Gruss, Peter
Anzeige
AW: Kleine Anschlussfrage - noch offen
27.09.2008 21:34:26
Gerd
Hallo Peter,
da muss ich leider passen. Dafür mache ich mit Formeln viel zu wenig.
Ich könnte allenfalls vermuten, dass deine Formeln "zeilenbezogen" sind.
Gruß Gerd

315 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige