Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1264to1268
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 ergibt #WERT!, wenn Datei nicht aktiv

Funktion ergibt #WERT!, wenn Datei nicht aktiv
Peter
Guten Tag
Mit untenstehender Funktion frage ich die Adresse eines benannten Bereiches ab.
Das klappt soweit auch problemlos, solange die Datei, in welcher die Funktion steht, aktiv ist. Ist dies nicht mehr der Fall, erhalte ich nicht mehr die Adresse zurück, sondern #WERT!
Wie muss ich die Funktion erweitern, dass diese auch funktioniert, wenn die Datei, in welcher diese verwendet wird, gerade nicht aktiv ist.
Ich habe mal versucht mit
Set rng = ThisWorkbook.Range(strBereich)
doch das hat nicht funktioniert.
Gruss, Peter
Public Function AdresseTabelleBereich(strBereich As String)
Dim rng As Range
Set rng = Range(strBereich)
AdresseTabelleBereich = rng.Parent.Name & "!" & rng.Address(0, 0)
End Function

AW: Funktion ergibt #WERT!, wenn Datei nicht aktiv
07.06.2012 09:34:13
Hajo_Zi
Hallo Peter,
lege die Funktion in der Personal.XLSB ab.

AW: Funktion ergibt #WERT!, wenn Datei nicht aktiv
07.06.2012 09:40:57
Peter
Hallo Hajo
Das kann ich leider nicht, weil ich diese Datei auch weitergebe und die Funktion daher in der Datei integriert sein muss.
Gruss, Peter
AW: Funktion ergibt #WERT!, wenn Datei nicht aktiv
07.06.2012 09:46:43
Hajo_Zi
Hallo Peter,
dann muss die Funktion in die Datei die Du fort schickst.
Gruß Hajo
AW: Funktion ergibt #WERT!, wenn Datei nicht aktiv
07.06.2012 10:19:01
Peter
Hallo Hajo
Das habe ich so gelöst. Allerdings bleibt das Problem, dass die Funktion nicht richtig ausgewertet wird, wenn gerade eine andere Datei aktiv ist und durch einen Eintrag in die andere Datei das Berechnen ausgelöst wird. Ich habe den Eindruck, dass ich wohl bei Set Rng nicht nur den Bereich, sondern auch den Tabellennamen mitgeben muss, damit dieses Problem nicht auftaucht.
Gruss, Peter
Anzeige
AW: Funktion ergibt #WERT!, wenn Datei nicht aktiv
07.06.2012 10:30:05
Hajo_Zi
Hallo Peter,
vieleicht die Übergabe der Variablen als Range.
Gruß Hajo
AW: Funktion ergibt #WERT!, wenn Datei nicht aktiv
07.06.2012 11:17:58
Peter
Hallo Hajo
Da habe ich eine Verständnisfrage:
Wie kann ich ein Argument als Range übergeben, wenn beispielsweise Bereichsname in Zelle E90 steht?
Gruss, Peter
=adressetabellebereich(E90))
AW: Funktion ergibt #WERT!, wenn Datei nicht aktiv
11.06.2012 10:09:36
Rudi
Hallo,
Public Function AdresseTabelleBereich(strBereich As String)
Dim rng As Range
Set rng = Application.Caller.Parent.Range(strBereich)
AdresseTabelleBereich = rng.Parent.Name & "!" & rng.Address(0, 0)
End Function
Gruß
Rudi
Anzeige
AW: Funktion ergibt #WERT!, wenn Datei nicht aktiv
11.06.2012 11:02:41
Peter
Hallo Rudi
Vielen Dank.
Jetzt gibt es noch ein Problem, wenn der Bereich, dessen Name mit der Funktion übergeben wird, nicht in der Tabelle ist, in welcher die Abfrage erfolgt, liefert die Funktion Wert zurück.
Gruss, Peter
https://www.herber.de/bbs/user/80515.xlsm
AW: Funktion ergibt #WERT!, wenn Datei nicht aktiv
11.06.2012 12:38:52
Rudi
Hallo,
von Namen war bisher nie die Rede.
Wozu brauchst du die Fkt. überhaupt?
=Zeile(indirekt(C26)) tut's doch auch.
Gruß
Rudi
AW: Funktion ergibt #WERT!, wenn Datei nicht aktiv
11.06.2012 12:56:08
Peter
Hallo Rudi
Die Funktion ist nötig, damit ich von einem benannten Bereich ableiten kann, in welcher Tabelle ein Bereich benannt ist und welche Adresse dieser Bereich hat.
Die Formel =Zeile(indirekt(C26)) tut's doch auch.
im gleichen Beispielsheet ist da etwas irreführend, weil sie mit der aktuellen Fragestellung nichts zu tun hat (pardon!).
Gruss, Peter
Anzeige
AW: Funktion ergibt #WERT!, wenn Datei nicht aktiv
11.06.2012 13:05:50
Rudi
Hallo,
mir erschließt sich der Sinn nicht. Du kannst doch direkt mit dem Bereich (Namen) arbeiten.
Außerdem kann der gleiche Name auf mehreren Blättern definiert sein. Was dann?
Vielleicht hilft dir das:
Function xxx(str As String)
With ThisWorkbook.Names(str).RefersToRange
xxx = .Parent.Name & "!" & .Address(0, 0)
End With
End Function

Gruß
Rudi
AW: Funktion ergibt #WERT!, wenn Datei nicht aktiv
11.06.2012 13:16:50
Peter
Hallo Rudi
Das habe ich gesucht. Das ist zielführend.
Mir war nicht bewusst, dass man direkt den Bereich ansprechen kann.
Diese Funktion brauche ich nur in Workbooks, wenn der entsprechende Bereichsname innerhalb der Datei nur einmal vorkommen. (Ansonsten würde mir immer die erste Fundstelle (Tabellenname) zurückgegeben.
Vielen Dank und Gruss, Peter
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige