Microsoft Excel

Herbers Excel/VBA-Archiv

letzte aktive Zelle merken

Betrifft: letzte aktive Zelle merken von: Eisi
Geschrieben am: 15.10.2020 15:12:27

Hallo zusammen,

mit folgendem Code benenne ich eine Zelle mit "zurueck" und kann dann über das Namensfeld wieder zu dieser Zelle zurück springen. Funktioniert super. Könnte man den Code um folgende Aktion ergänzen?

Wenn ich "zurueck" auswähle, soll die aktive Zelle mit dem Namen zurueck oben am Bildschirm zu sehen sein.

Code:

ActiveWorkbook.Names.Add _
Name:="Zurueck", RefersTo:="=" _
& Selection.Parent.Name _
& "!" & Selection.Address

Vielen Dank.

VG Eisi :-)

Betrifft: AW: letzte aktive Zelle merken
von: ralf_b
Geschrieben am: 15.10.2020 15:42:13

nur so ne idee
ActiveWindow.ScrollRow = Range("Name").row

Betrifft: AW: letzte aktive Zelle merken
von: Eisi
Geschrieben am: 15.10.2020 16:02:22

Hallo Ralf,

danke für die Info. In einem Code könnte ich mir das vorstellen, aber ich vergebe ja zuerst einen Namen für die Zelle = zurueck.
Dann wähle ich links oben im Menü im Namensfeld den Namen zurueck aus und bin dann in der gewünschten Zelle. Genau bei dieser Aktion müßte Dein Code greifen, aber ich sehe jetzt nicht die Möglichkeit, wo ich das eintragen kann.

Mein Code wird ja über einen Button ausgelöst und diesen Code habe ich ja nicht mehr im Namensfeld.



Betrifft: AW: letzte aktive Zelle merken
von: ralf_b
Geschrieben am: 15.10.2020 16:09:50

Offensichtlich verstehe ich dein Anliegen nicht so recht. Macht aber nichts.

Ab wann steht denn fest welche Zelle die Zurückzelle ist?
Und wann benötigst du diese zum Zurückspringen?
Welchen Teil deiner Arbeit soll der Code dir dabei abnehmen?

Betrifft: AW: letzte aktive Zelle merken
von: Eisi
Geschrieben am: 15.10.2020 16:16:21

Hallo Ralf,

ich melde mich morgen nochmal. Danke.

VG Eisi :-)

Betrifft: AW: letzte aktive Zelle merken
von: Eisi
Geschrieben am: 16.10.2020 09:18:20

Hallo Ralf,
danke für Dein Feedback. Die Lösung vom Gerd ist für mich perfekt.
VG Eisi :-)

Betrifft: AW: letzte aktive Zelle merken
von: Gerd L
Geschrieben am: 15.10.2020 16:37:48

Moin,

ins Modul der Tabelle:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Address = Range("Zurueck").Address Then
        Application.Goto Range("Zurueck"), scroll:=True
    End If
End Sub

Gruß Gerd

Betrifft: AW: Korrektur
von: Gerd L
Geschrieben am: 15.10.2020 16:46:12

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim R As Range
    On Error Resume Next
    Set R = Range("Zurueck")
    On Error GoTo 0
    If Not R Is Nothing Then
        If Target.Address = R.Address Then
            Application.Goto R, scroll:=True
        End If
    End If
End Sub

Gruß Gerd

Betrifft: AW: Korrektur
von: Eisi
Geschrieben am: 16.10.2020 09:02:26

Hallo Gerd,
die Lösung ist perfekt.
Vielen herzlichen Dank.
VG Eisi :-)

Betrifft: AW: Korrektur
von: Eisi
Geschrieben am: 16.10.2020 12:53:28

Hallo Gerd,
mir fällt auf, wenn ich in meiner Tabelle mit Strg. + eine neue Zeile einfüge und den Inhalt der darunter liegenden kompletten Zeile mit Strg. C kopiere und in die neue Zeile mit Strg. V einfügen möchte, dass dann die Fehlermeldung "Mehrfachauswahl nicht möglich" kommt.
Man kann auch erkennen, wenn die komplette Zeile markiert ist, das nicht die komplatte Zeile umrandet ist, sondern jede einzelne Zelle.

Das muss irgendwie mit Deinem Code zusammen hängen. Hast Du da eine Idee warum das so ist und ob man das abstellen kann?

Vielen Dank für Dein Feedback.
VG
Eisi :-)