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

Forumthread: change ereignis funktioniert nicht

change ereignis funktioniert nicht
28.05.2004 11:21:53
maggie
hallo,
habe da ein problem.
arbeite mit vb und excel application.
schreibe in die excel tabelle meine werte aus meinem array rein und dann möchte ich das alle spalten aufeinander reagieren.
natürlich kommt dann ein zirkelbezug.
ein guter mensch hat mir dann ein code geschrieben der das tut was ich möchte und kein zirkelbezug auftritt.
leider kann ich es nicht in meinen code einbinden.
es sieht ungefähr so aus:
Dim EA As excel.Application
Dim WB As excel.Workbook

Private Sub WB_SheetChange(ByVal Sh As Object, ByVal Target As Range)
End Sub

leider wird der code nicht berücksichtigt, der compiler meldet aber auch kein fehler!!!
weiss vielleicht jemand wo der fehler ist?
oder was man da versuchen könnte?
mfg
maggie
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: change ereignis funktioniert nicht
28.05.2004 13:31:14
Sven
Hi maggie,
die VBA-Hilfe sagt:
Private Sub object_SheetChange(ByVal Sh As Object, ByVal Source As Range)
also Source statt Target.
Hast Du da inhaltlich was falsch gemacht?
Gruß, Sven.
AW: change ereignis funktioniert nicht
harry
hallo maggie,
deine angaben sind sehr spärlich, aber schau dir die datei mal an. so in der art müsste das ganze organisiert sein.
liebe grüße,
harry
https://www.herber.de/bbs/user/6866.xls
Anzeige
AW: change ereignis funktioniert nicht
28.05.2004 15:03:40
maggie
hallo,
also,
das ist ein vba das ich bekommen habe und ich arbeite mit vb.
kann man den code für vb ändern?
und wie?
ich verzweifel schon!
das ist der vba code:
Dim myTabelle As Object 'Excel.Worksheet '

Private Sub Chart1_SheetChange(ByVal Sh As OWC10.Worksheet, ByVal Target As OWC10.Range)
Dim AktProz As Double, Gesamt As Double, Groesser As Double, Kleiner As Double, Zeilen As Long
'Prüfen ob richtige Tabelle
If Sh.Name <> "Tabelle1" Then Exit Sub
'Anzahl Datenzeilen
Zeilen = (Sh.Range("ProzKumX").Row + Sh.Range("ProzKumX").Rows.Count - 1)
'Prüfen ob veränderte Zelle eine Kumulierte Prozenzahl ist
If (Target.Column <> Sh.Range("ProzKumX").Column) Or (Target.Row = 1) Or (Target.Row > Zeilen) Then Exit Sub
On Error GoTo Ende
'Events ausschalten, damit diese Procedure sich nicht selbst aufruft
Target.Application.EnableEvents = False
'eingebenen Wert merken
AktProz = Target.Value
'Formel wiederherstellen
Target.Formula = "=(C" & Target.Row & "*100/E1)"
' Prüfen, ob 1. Zeile < 100
If AktProz <= 0 Or AktProz > 100 Then
MsgBox "0 <= Prozente < 100 !"
GoTo Ende
ElseIf Target.Row = 2 And AktProz = 100 Then
MsgBox "In der 1. Zeile können nicht 100 Prozent erreicht werden !"
GoTo Ende
' Prüfen, ob letzte Zeile = 100
ElseIf Target.Row = Zeilen Then
MsgBox "In der letzten Zeile müssen 100 Prozent erreicht werden !"
GoTo Ende
End If
'Zielwertberechnung
Groesser = Target.Application.Evaluate("Sum(A" & Target.Row + 1 & ":A" & Zeilen & ")")
Kleiner = Target.Application.Evaluate("Sum(A1:A" & Target.Row - 1 & ")")
Gesamt = Groesser / (1 - (AktProz / 100))
Target.Offset(0, -2).Value = Gesamt * (AktProz / 100) - Kleiner
Ende:
'Events einschalten
Target.Application.EnableEvents = True
End Sub


Private Sub UserForm_Initialize()
Dim i As Long
Set myTabelle = Me.Controls("Chart1").object.Sheets(1)
myTabelle.Application.EnableEvents = False
With myTabelle
.Cells(1, 1).Value = "Delta X"
.Cells(1, 2).Value = "Y-Wert"
.Cells(1, 3).Value = "Kum X"
.Cells(1, 4).Value = "KumXProz"
.Cells(1, 5).Formula = "=Sum(A:A)"
For i = 2 To 10
.Cells(i, 1) = Rnd() * 100 - 30
.Cells(i, 2) = Rnd() * 100
.Cells(i, 3).Formula = "=Sum(A2:A" & i & ")"
.Cells(i, 4).Formula = "=(C" & i & "*100/E1)"
Next
End With
myTabelle.Parent.Names.Add Name:="Tabelle1!ProzKumX", RefersToR1C1:="=OFFSET(Tabelle1!R1C4,1,,COUNTA(Tabelle1!C1)-1,)"
myTabelle.Application.EnableEvents = True
End Sub

mfg
maggie
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige