Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
456to460
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
456to460
456to460
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Welche Zelle war gerade selektiert?

Welche Zelle war gerade selektiert?
20.07.2004 10:40:32
Lukas
Liebe Forumsteilnehmer,
ich versuche, in einem Worksheet, das geschützte Zellbereiche hat, den User daran zu hindern, eine der geperrten Zellen anzuclicken.
Beispiel: Zelle "A1" ist selektiert. "B2" ist geschützt. Clickt ich nun auf "B2" dann soll es piepsen und wieder "A1" selektiert werden. Woher weiss ich nun, das zuvor "A1" selektiert war?
Habe dazu das SelectionChange-Ereignis verwendet. Allerdings weiss ich nicht, wie ich die Range der unmittelbar zuvor aktiven Zelle bekomme.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rngSave
rngSave = ActiveCell.Address   'liefert mit leider den falschen Bezug!!!
'es ist bereits die gesperrte Zelle aktiv
If Target.Locked Then
Beep
Range(rngSave).Select
End If
End Sub

Bin sicher, das Problem hatte schon jemand. Wurde aber auch in der Recherche nicht fündig.

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Welche Zelle war gerade selektiert?
20.07.2004 10:52:46
ANdreas
Hallo Lukas,
versuch es mal so:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Static rAlt As Range
If Target.Locked Then
Beep
'standardmäßig eine zelle vorgeben, die
'beim ersten Klicken auf geschützte Zelle
'aktiviert werden soll
If rAlt Is Nothing Then Set rAlt = Range("A1")
On Error GoTo ErrorHandler
Application.EnableEvents = False
rAlt.Select
Application.EnableEvents = True
On Error GoTo 0
Else
Set rAlt = Target 'sonst merken, da Zelle nicht geschützt
End If
Exit Sub
ErrorHandler:
Application.EnableEvents = True
End Sub

Hoffe das hilft weiter,
Andreas
Anzeige
AW: Welche Zelle war gerade selektiert?
ChrisL
Hi Lukas
Option Explicit
Public Rng As Range

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
On Error Resume Next
If Target.Locked Then
Beep
Rng.Select
Else
Set Rng = Target
End If
End Sub

Gruss
Chris
AW: Welche Zelle war gerade selektiert?
20.07.2004 11:17:01
Lukas
Hallo Chris,
danke, ist eine gute Lösung. Nur beim 1.ten Mal, nach dem Öffnen des Workbooks funktioniert's noch nicht.
Grüße Lukas
AW: Welche Zelle war gerade selektiert?
ChrisL
Hi Lukas
' Standard-Modul
Public Rng As Range
' DieseArbeitsmappe

Private Sub Workbook_Open()
Set Rng = ActiveCell
End Sub

' Tabelle

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
On Error Resume Next
If Target.Locked Then
Beep
Rng.Select
Else
Set Rng = Target
End If
End Sub

Gruss
Chris
Anzeige
AW: Welche Zelle war gerade selektiert?
Lukas
Jetzt funkts! Danke

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige