Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender Navigationstipps
Inhaltsverzeichnis

Probleme Worksheet_Change(ByVal Target As Range)

Probleme Worksheet_Change(ByVal Target As Range)
28.04.2009 04:06:20
Ron
Hallo Leute,
habe mir vor einigen Wochen hier im Forum von Daniel helfen lassen und wollte nun den von ihm geposteten Script ein wenig auf meine Bedürfnisse umschreiben. Leider bin ich wohl zu blöd...
Es wäre Klasse, wenn mir jemand helfen könnte!
Ausgangslage:
Ich möchte in einer Datei Werte in eine von 3 Zellen eingeben und dann automatisch die beiden anderen Zellen berechnen lassen.
In meiner Testdatei habe ich das hinbekommen, jedoch nicht im Projekt :(
Ziel ist es bei Eingabe in AU18 folgende Formeln zu schreiben:
in AG 18: =Index(Daten!Z:Z;Vergleich(AU18;Daten!AA:AA;0))
in AM18: =P18*(AQ18-ab18)
bei Eingabe in AM18 soll geschrieben werden:
in AU18; =Index(Daten!AA:AA;Vergleich(aq18;DATEN!Z:Z;0))
in AG18: = ((T18+am18)/p18)-1
bei Eingabe in AQ18 soll geschrieben werden:
in AM18: =Daten!AA773
in AG18: =P18*(AQ18-AB18)
verwenden tue ich momentan folgenden Script:

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
With Target
Select Case .Address
Case "$AU$18"
.Offset(0, -8).FormulaR1C1 = "=RC[-23]*(RC[4]-RC[-11])"
.Formula = .Value
.Offset(0, -4).FormulaR1C1 = "=INDEX(Daten!C[-17],MATCH(RC[4],Daten!C[-16],0))"
.Formula = .Value
Case "$AQ$18"
.Offset(0, -4).FormulaR1C1 = "=RC[-23]*(RC[4]-RC[-11])"
.Formula = .Value
.Offset(0, 4).FormulaR1C1 = "=Daten!R[755]C[-20]"
.Formula = .Value
Case "$AM$18"
.Offset(0, 4).FormulaR1C1 = "=((RC[-23]+RC[-4])/RC[-27])-1"
.Formula = .Value
.Offset(0, 8).FormulaR1C1 = "=INDEX(Daten!C[-20],MATCH(RC[-4],Daten!C[-21],0))"
.Formula = .Value
Case Else
End Select
End With
Application.EnableEvents = True
End Sub


Hier auch noch mal ein Teil des Projekts (musste vieles raushauen - 300 kb ist nicht wirklich viel) https://www.herber.de/bbs/user/61457.zip
Wie gesagt, in einer Testdatei funzte es - nur hier nicht. Liegt es daran, dass ich Zellen verknüpft habe? Ich weiß, dass das für Excel nicht wirklich schön ist - aber ich brauchen den Platz in vorherigen Zellen...
Wäre Klasse, wenn mir jemand einen Tipp geben kann, um die Gedankenbremse zu lösen.
Freue mich auf Euere Beiträge!
Ron

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

Betreff
Datum
Anwender
Anzeige
AW: Probleme Worksheet_Change(ByVal Target As Range)
28.04.2009 10:57:16
fcs
Hallo Ron,
verwende statt "Zellen verbinden" die horizontale Zellformatierung "zentrieren über Auswahl".
Dann gibt es keine/weniger Probleme mit dem Makro.
Beim Selektieren der Zelle für die Eingabe muss du halt darauf achten, dann immer die linke Zelle zu wählen.
Gruß
Franz
AW: Probleme Worksheet_Change(ByVal Target As Range)
28.04.2009 11:31:43
Armin
Hallo Ron,
in dem Skript sind keine Fehler, aber die Formel erzeugen Zirkelverweise. Siehe Help von Excel.
https://www.herber.de/bbs/user/61464.jpg
Gruß Armin
AW: Probleme Worksheet_Change(ByVal Target As Range)
28.04.2009 14:21:39
Ron
Hallo Franz,
hallo Armin,
danke erst mal für Eure Hinweise. Gestern Nacht hatte mein Excel wohl einen Aussetzer. Die Kiste rechnete nicht... Hätte das Ding mal beenden sollen, dann hätte ich weniger graue Haare. Jetzt gehts - Zirkelbezüge sind mir auch aufgefallen - muß ich noch ein wenig abstimmen :)
Trotzdem vielen Dank an Euch, falls ich heute abend wieder Problemchen habe, mache ich einen neuen Baum auf.
Grüße
Ron
Anzeige

315 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige