Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Automatische Zellberechnung

Forumthread: Automatische Zellberechnung

Automatische Zellberechnung
14.10.2007 13:41:54
Simon
Hallo,
ich suche eine Funktion, die quasi wie bei Worksheet_SelectionChange ausgeführt wird, aber noch als Selection die Zelle davor hat.
Bsp:
Selection = A1
man wechselt zu A2
arbeitet man bei Worksheet_SelectionChange nimmt Excel als ActiveCell jetzt schon A2 und nicht mehr A1.
Wie erreiche ich, dass sich Excel die Zelle davor merkt?
MfG,
Simon

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: z.B.: ActiveCell.Offset(-1,0).Value o.T.
14.10.2007 13:47:00
Chaos
.

AW: z.B.: ActiveCell.Offset(-1,0).Value o.T.
14.10.2007 20:47:00
Simon
Hi
gut das A1 und A2 Beispiel war vielleicht schlecht gewählt. Die Funktion sollte schon für alle möglichen Zellsprünge klappen mit .Offset(-1,0) bin ich ja doch recht eingeschränkt ;-)
Aber danke für den Versuch.
Excel soll mir quasi die Zelle (Zeile reicht auch) ausgeben, in der ich VOR dem SelectionChange gewesen bin.
Simon

Anzeige
AW: z.B.: ActiveCell.Offset(-1,0).Value o.T.
15.10.2007 10:34:00
Chaos
servus,
hier mal so was in der Art:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim nanu As String
Dim nam As String
nam = Range("C1").Value
If Selection.Address Like "$A*:$A*" Then
Range("B:B").ClearContents
Range("A2").Select
Range("C1").Value = "$A$2"
Exit Sub
End If
If Not Intersect(Target, Range("A2:A10")) Is Nothing Then
If Target.Address = "$A$2" Then
Range("C1").Value = Target.Address
Target.Offset(0, 1).Value = Target.Value * 5
Else
Dim Übergabe As String
Übergabe = Range("C1").Value
Target.Offset(0, 1).Value = Range(Übergabe).Value * 5
nanu = Target.Address
Range("C1").Value = nanu
End If
End If
End Sub


Für Bereich A2:A10.
Funktioniert einwandfrei, wenn du keine Werte löschst (dann ist der Vorgänger natürlich nicht mehr bekannt). Wenn du schon löschst, dann alle.
A2 ist der Startwert, hier wird A2 * 5 genommen, alle anderen Werte sind dann Vorgängerzelle * 5.
Gruß
Chaos

Anzeige
AW: Automatische Zellberechnung
14.10.2007 14:04:41
Gerd
Hallo Simon,
oder:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count= 1 then Msgbox Target.Address
End Sub


Gruß Gerd

AW: Automatische Zellberechnung
14.10.2007 20:49:26
Simon
Hi,
target.adress gibt aber leider wieder nur die neue Zelle/Zeile aus und nicht die alte. Schade.
Excel soll mir die Zelle (Zeile reicht auch) ausgeben, in der ich vor dem Selection.Change gewesen bin
Simon

Anzeige
AW: Automatische Zellberechnung
15.10.2007 20:39:27
Gerd
Hallo Simon,
die Ausgabe eines Wertes falls die Markierung über mehr als eine Zeile geht,
habe ich (hoffentlich :-) ) ausgeschlossen.
Angezeigt werden soll ansonsten die Zeilennummer der letzte Markierung zuvor .
Probiere mal.
Option Explicit
Public strAdresseAlt As String

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not strAdresseAlt = Empty Then MsgBox Range(strAdresseAlt).Row
strAdresseAlt = IIf(Target.Rows.Count = 1, Target.Address, "")
End Sub


Gruß Gerd

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