Hallo,
vielleicht bin ich ja heute ein bisschen schwer von Begriff. Ich sehe erst mal nicht, wozu die ganze Würfelei mit Zellinhalten gut sein soll, aber das soll jetzt nicht mein Problem sein. Das Grundübel scheint mir die fehlerhafte Verwendung von Intersect zu sein. Du schreibst, dass du in deinem Bereich A7:D24 EINE Zelle markierst. Die von Intersect ermittelte Schnittmenge würde also auch nur EINE Zelle enthalten, falls die markierte Zelle in dem gewünschten Bereich liegt, oder auch GAR KEINE, falls eine Zelle außerhalb markiert wurde. Für diesen Fall ist anscheinend auch die Zeile On Error... gedacht.
Wenn du überprüfen willst, ob die markierte Zelle in dem gewünschten Bereich liegt, dann musst du das so machen:
If Not Application.Intersect(Selection, Range("A7:A24")) Is Nothing Then ...
Und deine For-Schleife müsste dann etwa so aussehen:
For Each Zelle In Range("A7:A24").Cells
...usw.
Die Bereichsadressen musst du natürlich entsprechend deinen Vorstellungen einsetzen. Wenn du so vorgehst, kannst du dir auch das On Error... sparen.
Noch etwas: Wie startest du denn die Berechnung? Wenn sie nach dem Markieren einer Zelle ablaufen soll, wäre dafür das Worksheet_SelectionChange Ereignis zweckmäßig.
Gruß
|