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

Funktionsbereiche die 2. ...sorry!

Funktionsbereiche die 2. ...sorry!
22.03.2006 21:48:29
Stefan
Funktionsbereiche die 2. ...sorry!
Hallo Excel-Fans,..
das ist mir zu hoch, habe Euch mal die Tabelle hochgeladen.
Problem: Ein definierter Funktionsbereich funktioniert nur in "einer Richtung"...?
Klick1 in einer gesperrten Zelle + erlaubten Zelle = OK
Klick1 in einer erlaubten Zelle + gesperrten Zelle = FEHLER
Am Besten, Ihr schaut Euch mal die Tabelle an...
https://www.herber.de/bbs/user/32159.xls
Ich habe NULL Plan, wie das funktionieren könnte,...geht das überhaupt ?
Gruß Stefan

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

Betreff
Datum
Anwender
Anzeige
AW: Funktionsbereiche die 2. ...sorry!
22.03.2006 22:50:19
Yal
Hallo,
das liegt daran, dass "Intersect" ein Range-Objekt ist. Und ein Range-Objekt hat ein "ActiveCell". Es handelt sich nochmalerweise, um die erste geklickte Zelle. Nun ab und zu ist diese erste geklickte Zelle ausserhalb der Intersektionsbereich. Intersect hat dann kein Activecell. Daher die unterschiedliche Verhalten.
Aber statt zu prüfen, ob alles im innere Bereich leigt, warum nicht einfach den Bereich auf dem Intersect-Bereich begrenzen?:

Sub FBereich()
Dim c As Range
If ActiveSheet.Name <> "Tabelle1" Then GoTo gehtnicht
Intersect(Range("C5:K26,A1:B2"), Selection).Select
FaerbeZelle.Show
Exit Sub
gehtnicht:
MsgBox "Das funktioniert nur in Tabelle1"
End Sub

Yal. Bitte sehr.
Anzeige
AW: Funktionsbereiche die 2. ...sorry!
24.03.2006 06:11:07
Stefan
Hi,..
hmm, das hört sich logisch an. Das Verhalten eines Range-Objekt, ich nehme an, alle Range-Objebkte
funktionieren nach diesem Prinzip...? Kann diese Verhalten vielleicht abgefragt werden ?
Vielleicht, dass die Erste (Active.Cell) gemerkt wird ?
...ich weiss es wirklich nicht :((
Aber was meinst Du mit dem innerem Bereich ?
Der innere Bereich "Intersect(Range("C5:K26,A1:B2")" ? Ich dachte das ist der innere Bereich.
Was meinst Du mit "...auf den Intersect-Bereich begrenzen" ?
Gruß Stefan
AW: Funktionsbereiche die 2. ...sorry!
25.03.2006 11:10:26
Yal
Hallo,
Du kannst die "Eigenschaft" eines Objektes abfragen und ev. ändern. In deinem Fall würdest Du die Frage "liegt die erste angeklickte Zelle in den Zielbereich? (wenn diese Begriff sprechender ist, als "innere Bereich")" durch den Code
If Intersect(Range("C5:K26,A1:B2"), ActiveCell) Is Nothing then
Msgbox "Sorry1 Du bist draussen!"
End If
Auf dem "Intersect-Bereich begrenzen" bedeutet, dass wir nicht mehr brauchen zu wissen, ob alle selektierte Zelle im Zielbereich liegen, sondern begrenzen einfach der ausgewählte Bereich auf dem Ergebnis des Intersect. Damit sind alle Zelle des Ergebnis innerhalb des Zielbereiches (oder "innere Bereich").
Es gibt übrigens nur eine "ActiveCell", egal wieviel "Areas" ein "Range" beinhaltet.
Um näher zu diese Thematik zu kommen, muss Du dich mit dem Klassen-Design von Excel auseinandersetzen und eine Menge verstand mitbringen. Aber es lohnt sich.
Viel Spass beim gut werden.
Yal
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige