Hallo Helfer gibt es eine Standard-Möglichkeit für folgendes Szenario: Ich habe verschiedene Spalten mit Namen definiert. z.B. Spalte 3-5 = Weizen, Spalte 6-8 = Dinkel. Ich stehe in Spalte 2, Zeile 5 und möchte direkt im Dinkel-Namen auf die 1. betreffende Zelle in der gleichen Zeile, also Zeile 5, Spalte 6 springen. Ist dies möglich oder braucht es dazu ein Marko? Wenn Makro, kann mir jemand helfen, bitte.
ich möchte mit der Namen-Definitionen"Weizen", "Dinkel" etc. auswählen können. Wenn ich "F5" starte, erhalte ich ja die Namensauswahl. Aber es wird der ganze Namensbereich ausgewählt. Ich möchte eine Möglichkeit, dass ich, wenn ich in Zeile 5, egal welche Zelle, die Namen-Definition "Weizen" wähle, direkt in den ersten Weizen-Bereich auf der Zeile 5 springe, also Zeile 5, Spalte 3.
10.03.2021, 08:52 (Dieser Beitrag wurde zuletzt bearbeitet: 10.03.2021, 08:53 von schauan.)
Hallöchen,
ich habe im Anhang mal ein Beispiel. Schaue dazu in alle Codemodule der Mappe. Die Vorgehensweise ist im Prinzip so: Du legst eine Public-Variable fest, in der die Zeile der aktiven Zelle gespeichert wird Beim Öffnen der Datei wird die Zeile erfasst Beim Wechsel auf des betreffende Blatt wird die Zeile erfasst Bei Auswahl eines Bereichs - hier im Beispiel "Jupp" - wird in die Zelle in der gleichen Zeile und in der ersten Spalte des Bereichs gesprungen ... Wählst Du nur eine andere Zelle, wird von der die Zeile erfasst.
Das Makro ist jetzt nicht auf die Zeilen des Bereichs begrenzt, es würde also auch drunter oder drüber passieren. Die Bereichsangabe "Jupp" musst Du durch einen von Deinen Namen ersetzen Für mehrere Bereiche musst Du nur die Zeile vervielfältigen und die anderen Bereichsnamen verwenden
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Ich hoffe Du bist gesund und es geht Dir gut. Danke für Deine Hilfe. Ich habe versucht, Deine Anweisung umzusetzen - aber ich habe es leider nicht ganz geschaft. Ich habe 3 Bereiche und die Zeile vervielfältigt und die Namen abgeändert.
If Target.Address = Range("Weizen").Address Then Cells(lRow, Range("Weizen").Columns(1).Column).Activate Else lRow = ActiveCell.Row If Target.Address = Range("Dinkel").Address Then Cells(lRow, Range("Dinkel").Columns(1).Column).Activate Else lRow = ActiveCell.Row If Target.Address = Range("Roggen").Address Then Cells(lRow, Range("Roggen").Columns(1).Column).Activate Else lRow = ActiveCell.Row
Wenn ich jetzt "Weizen" auswähle, macht das Makro was es soll. Wähle ich jedoch "Dinkel" oder "Roggen" aus, so springt er zwar in den Bereich, aber nicht auf die Zelle in der gleichen Zeile, sondern auf die erste Zelle des Bereichs, also ganz oben links.
10.03.2021, 12:47 (Dieser Beitrag wurde zuletzt bearbeitet: 10.03.2021, 12:47 von schauan.)
Hallöchen,
ok, so sollte es laufen. Beim WorkBook_Open den Code auch wieder aktivieren ...
Code:
Private Sub Worksheet_Activate() lRow = ActiveCell.Row End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Address = Range("Weizen").Address Then Cells(lRow, Range("Weizen").Columns(1).Column).Activate ElseIf Target.Address = Range("Dinkel").Address Then Cells(lRow, Range("Dinkel").Columns(1).Column).Activate ElseIf Target.Address = Range("Roggen").Address Then Cells(lRow, Range("Roggen").Columns(1).Column).Activate Else lRow = ActiveCell.Row End If End Sub
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)