Anzeige
Archiv - Navigation
860to864
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
860to864
860to864
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

860to864: Workbook_Change-Ereignis

Workbook_Change-Ereignis
03.04.2007 15:59:00
Christian
Hallo zusammen,
mit diesem Makro kann ich Werte in Tabelle2 durch Eingabe von Werten in Tabelle1 im Bereich B2:IV65536 aktualisieren, indem der eingegebene Wert in derselben Zelle in Tabelle2 addiert wird.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim gZe, gSp                        ' Zeile und Spalte der geänderten Zelle
gZe = Target.Row
gSp = Target.Column
If (gSp > 1) And gZe > 1 Then
With Sheets(1)
Sheets(2).Cells(gZe, gSp) = Sheets(2).Cells(gZe, gSp) _
+ .Cells(gZe, gSp)
End With
End If
End Sub

Funktioniert super, aber ich möchte natürlich nicht jede Zelle einzeln eingeben müssen, da diese in einer anderen Datei schon vorhanden sind. Wenn ich mir die Daten aus der anderen Datei aber in Tabelle1 hole, dann versagt mir das Change-Ereignis seinen Dienst, weil die kopierten und einzufügenden Bereiche nicht gleich sind.
Wie kann ich es trotzdem bewerkstelligen, dass ich mir die Daten aus der anderen Datei hole und trotzdem das Chenge-Ereignis stattfindet.
Komme gerade nicht weiter und bin für jede Hilfe dankbar.
Gruß
Christian

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Workbook_Change-Ereignis
03.04.2007 16:09:57
Andi
Hi,
die kopierten und einzufügenden Bereiche sind doch schon gleich, oder?
Also, ich kopiere zB 5 Zellen in Tabelle1, [C4:C8], und dann soll Tabelle2, [C4:C8] neu berechnet werden, oder? Das geht, in dem man eine Schleife über alle Zellen im Target-Bereich laufen lässt:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim gZe, gSp                        ' Zeile und Spalte der geänderten Zelle
Dim c As Range
For Each c In Range(Target.Address)
gZe = c.Row
gSp = c.Column
If (gSp > 1) And gZe > 1 Then
With Sheets(1)
Sheets(2).Cells(gZe, gSp) = Sheets(2).Cells(gZe, gSp) _
+ .Cells(gZe, gSp)
End With
End If
Next c
End Sub
Schönen Gruß,
Andi
Anzeige
AW: Workbook_Change-Ereignis
03.04.2007 16:52:00
Christian
Servus Andi,
das hab ich schon probiert. Bei mir haut das nicht hin. Entweder er trägt, wenn ich Glück hab, nur die ersten 2 Zellen ein oder Excel hängt sich auf.
Wenn das die einzige Möglichkeit ist, dann lass ich's lieber bleiben. Hab keinen Bock meinen PC ständig zu rebooten.
Gruß
Christian
AW: Workbook_Change-Ereignis
03.04.2007 16:57:18
Andi
Hi,
sorry, fällt mir grad nix ein dazu, bei funktioniert der Code.
Ich bin nur noch ein paar Minuten online, aner ich stell die Frage mal auf noch offen, vielleicht weiss ja jemand anders Rat. Kannst Du die Mappe hochladen?
Schönen Gruß,
Andi
AW: Workbook_Change-Ereignis
03.04.2007 17:33:32
Andi
Hi,
sorry, ich muss jetz wirklich los, hab leider keine Zeit mehr, reinzuschaun.
Ich stell die Frage aber nochmal auf 'offen'...
Schönen Gruß,
Andi
AW: Workbook_Change-Ereignis
03.04.2007 22:18:40
Christian
Habs gefunden,
der kopierte Bereich war einfach zu groß, zu wenig Arbeitsspeicher. Ansonsten funktionierts einwandfrei.
Gruß
Christian

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige