Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: 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
Anzeige

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
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige