Microsoft Excel

Herbers Excel/VBA-Archiv

Function: Änderung in Zellbereich / Namensbereich

Betrifft: Function: Änderung in Zellbereich / Namensbereich von: GSE
Geschrieben am: 08.10.2007 12:29:35

Hallo liebe Forumgemeinde,

folgendes Problem:

In einer eigenen Funktion ermittle ich die Anzahl Feiertage des Monats und gebe diese Anzahl selbiger in einer Zelle aus.

1. Wie kann ich erreichen, dass die Funktion nur ausgeführt wird, wenn sich Werte in bestimmten "Namensbereichen" (Wie heisst das eigentlich korrekt? Der Bereich wird definiert unter Menü:Einfügen/Namen/Definieren??) ändern. Also z.B.: Im Namensbereich "Feiertage" (=Tabelle1!A1:A10) kommt ein neuer Eintrag hinzu.

2. In meinem FB habe ich einen Parameter der den Namen des Namenbereiches übergibt. Im VBA will ich dann überprüfen, ob der Name des übergebenen Range-Objektes gleich "Feiertage" ist. Mit Range.name oder Range.Address bekomme ich aber nur die Referenz =Tabelle1!A1:A10 bzw. =A1:A10 und nicht den Namen des übergebenen Bereichs "Feiertage".

Weiß bitte jemand Rat? Freue mich auf Antworten, Hinweise, Kritik jeder Art!

Gruß gse
(aka guenter sigfried eugen)

  

Betrifft: AW: Function: Änderung in Zellbereich / Namensbere von: Renee
Geschrieben am: 08.10.2007 12:56:42

Hi Günter,

1. Benannter Bereich variabel, z.B. so Feiertage

=BEREICH.VERSCHIEBEN(Tabelle1!$A$1;;;ANZAHL2(Tabelle1!$A:$A))


falls, in der Spalte A nur die Feiertage vorkommen.

2. Ich nehme an, Du willst nur prüfen ob eine Adresse im Feiertagsbereich liegt. Dann schau Dir die Funktion INTERSECT an. Andernfalls musst Du die .RefersTo Eigenschaft des Name-Objekts auslesen und ggf. auswerten.

GreetZ Renee


  

Betrifft: Siehe Spotlight-Beitrag von: NoNet
Geschrieben am: 08.10.2007 13:03:12

Hallo Günter,

schau mal hier :

http://www.spotlight.de/zforen/mse/m/mse-1188981915-30488.html

Gruß, NoNet


  

Betrifft: AW: Function: Änderung in Zellbereich / Namensbereich von: GSE
Geschrieben am: 08.10.2007 14:18:40

Hallo,

herzlichen Dank für Eure Tipps und Ratschläge.

Eigentlich wollte ich nur prüfen, ob der verwendetet Namensbereich der aktiven Zelle der korrekte ist.

In der aktivenzelle in der der FB verwendet wird steht folgende Formel:
=WENN(N45<>"";AF_Feiertage(Feiertage);"")
n45 enthält die Anzahl der aktuellen Feiertage des Monats

die FB-Schnittstelle in VBA sieht so aus:

Public Function AF_Feiertage(Bereich As Range) As Integer

Meine Abfrage soll jetzt so aussehen:

wenn der Namensbereich der aktiven Zelle = Feiertage dann
weiter
sonst
FB verlassen
:
:
Endfunction

Vielleicht habe ich auch einfach nur einen Knoten in meiner Logik.... ;-)

Gruß
gse
(aka guenter sigfried eugen)


 

Beiträge aus den Excel-Beispielen zum Thema "Function: Änderung in Zellbereich / Namensbereich"