Tabellenblattübergriff

Bild

Betrifft: Tabellenblattübergriff von: Schmendrich
Geschrieben am: 07.02.2005 08:57:49

Hallo,

hab mal wieder ein kleines Problemchen. Habe eine Schleife, die vom Wert einer Zelle, den Wert einer anderen Zelle abzieht und die Zelle aktualisiert:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 4 Then _
Target.Offset(0, -1) = Target.Offset(0, -1) - Target
End Sub


So weit so gut, spielt sich ja alles in einem Tabellenblatt ab. Wie gelingt mir der Spaß Tabellenblattübergreifend?

Vielen Dank

Schmendrich
Bild


Betrifft: AW: Tabellenblattübergriff von: Reinhold
Geschrieben am: 07.02.2005 09:19:59

Hi Schmendrich,

im Projekt Explorer gibt es "DieseArbeitsmappe" und dort ein Ereignis, welches bei Änderung einer Zelle irgendeines Sheets gefeuert wird

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
wobei sh das sheet ist, in dem eine Zelle geändert wurde


Grüße Reinhold


Bild


Betrifft: AW: Tabellenblattübergriff von: schmendrich
Geschrieben am: 07.02.2005 10:24:37

Danke vielmals,

leider komme ich damit immer noch nicht weiter.
Kann mir bitte noch einmal jemand sagen, wie ich festlege, in welchem Tabellenblatt die Reaktion auf die Änderung erfolgen soll?

Vielen Dank


Bild


Betrifft: AW: Tabellenblattübergriff von: Reinhold
Geschrieben am: 07.02.2005 10:39:10

Hi,

Target gibt ja bereits die Zelle an, die geändert wurde.

Mit Target.Offset(0, -1) sprichst du ja genau die linke Zelle der geänderten Zelle an, egal in welchem Tabellenblatt du die Ändeung gemacht hast!

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
  If Target.Column = 4 Then
    Target.Offset(0, -1) = Target.Offset(0, -1) - Target
  End If
End Sub


Grüße Reinhold


Bild


Betrifft: AW: Tabellenblattübergriff von: schmendrich
Geschrieben am: 07.02.2005 10:48:25

Das scheint ja genau mein Fehler zu sein,

ich möchte aber in Spalte 4/ Tabellenblatt 2 eine Zahl eintragen können; die eine Änderung in Spalte 3/ Tabellenblatt 1 hervorruft (Subtraktion).
Wie gesagt mit Target und target.offset habe ich es Tabellenblattintern hinbekommen (auch mit Hilfe von hier), nur eben nicht über Tabellenblattgrenzen hinweg.
Ich habe leider bis Freitag noch nichts mit VBA zu tun gehabt und stehe tatsächlich wie die Kuh vorm neuen Tor.

Dank Dir

Schmendrich


Bild


Betrifft: AW: Tabellenblattübergriff von: Ulf
Geschrieben am: 07.02.2005 11:57:58

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 4 Then _
Target.Offset(0, -1) = sheets("Tabelle1").Range(Target.Offset(0, -1).address) - Target
End Sub


Ulf


Bild


Betrifft: AW: Tabellenblattübergriff von: schmendrich
Geschrieben am: 07.02.2005 14:06:01

Noch einmal vielen Dank für die Mühe,

allerdings passiert immernoch alles in ein und demselben Tabellenblatt...
Weiß echt nicht, wo ich ansetzen soll..

gruß

schmendrich


Bild


Betrifft: AW: Tabellenblattübergriff von: Ulf
Geschrieben am: 07.02.2005 19:05:00

Ist auch völlig unklar wo was hinsoll.

Ulf


 Bild

Beiträge aus den Excel-Beispielen zum Thema ""Automatisch berechnen" per Makro ausschalten"