Clever-Excel-Forum

Normale Version: Sprung von Zelle auf Namensbereich in der gleichen Zeile
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
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.

Danke für Eure Hilfe

Theo

Windows 10. Excel 2016
und woher weiß man, was die "betreffende" Spalte ist?
und wann soll der Sprung dorthin ausgelöst werden?
Guten Abend

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.

Gruss und Dank.

Theo
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
Guten Morgen André

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.

Was habe ich falsch gemacht?

Gruss und Dank

Theo
Hallo Theo,

kannst Du bitte nochmal Deine Datei mit Deiner Umsetzung posten?
Natürlich, und danke.

Gruss

Theo
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
Hallo André

ganz herzlichen Dank. Es funktioniert alles.

Bleib gesund und alles Gute wünsche ich Dir!


Gruss

Theo