Probleme Worksheet_Change(ByVal Target As Range)
28.04.2009 04:06:20
Ron
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