Live-Forum - Die aktuellen Beiträge
Datum
Titel
19.04.2024 12:23:24
19.04.2024 11:45:34
Anzeige
Archiv - Navigation
912to916
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
912to916
912to916
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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

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

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

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

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige