Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Spalte durchsuchen und Springen

Spalte durchsuchen und Springen
18.08.2021 09:31:23
Christian
Hallo zusammen, nach einigem Probieren und Code ändern stelle ich fest, dass ich anscheinend auf einem Holzweg (zu dämlich) bin. Ich habe folgendes Problem und hoffe, dass einer eine tolle Idee hat :)
Ich habe eine Spalte (E), in der über eine Formel, je nach erfüllter Bedingung, eine "1" oder "" ausgegeben wird. In der Spalte "G" mache ich Eingaben. Darunter folgen Felder mit weiteren Eingabemöglichkeiten, aber nicht alle sollen gefüllt werden. Das hängt wiederum von anderen Faktoren ab. Jetzt versuche ich Folgendes:
Ab der Zelle, auf der ich gerade bin (also in Spalte G bspw Zelle 30) soll Excel in Spalte E ab Zelle (aber ohne diese bei der Suche einzuschließen) schauen, wo die nächste "1" ist und dann in Spalte G wieder in diese Zeile springen. Sprich, die nächste 1 steht bspw. in E34, dann soll in das Feld G34 gesprungen werden.
Dafür habe ich mir folgenden (nicht funktionierenden) Code überlegt:
Dim k As Long
Dim j As Long
k = ActiveCell.Row - 1 'weil der Code nach "Enter" ausgeführt wird, -1. Das passt auch (Meldung von MsgBox)
MsgBox k
j = Cells(k, 5).End(xlDown).Row
MsgBox j 'hier wird dann die Zeile 32 ausgegeben, obwohl dort keine 1 in Spalte G steht. Ich erwarte 34.
If Cells(j, 5) = "1" Then Cells(j, 7).Select 'das macht xls dann auch nicht.
VIELEN DANK!
Christian
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Spalte durchsuchen und Springen
18.08.2021 10:14:18
GerdL
Moin Christian!
Bei Füllungen mit dem Formel-Leer ist die End-Funktion "am Ende".
Per Doppelklick, ins Modul der Tabelle einfügen.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim X As Range
Set X = Columns(5).Find(what:=1, after:=Cells(Target.Row, 5), lookat:=xlWhole, LookIn:=xlValues)
If Not X Is Nothing Then
Cancel = True
Application.Goto Cells(X.Row, 7)
Set X = Nothing
End If
End Sub
Gruß Gerd
Anzeige
AW: Spalte durchsuchen und Springen
18.08.2021 10:54:35
Christian
Hallo Gerd,
vielen Dank. Ich möchte den Code aber gerne bei einem WorksheetChange aufrufen und zwar nur, wenn eine bestimmte Zelle geändert wird. Dazu rufe ich dann meinen Code in einem Modul auf. Geht das auch irgendwie?
AW: Spalte durchsuchen und Springen
18.08.2021 11:50:13
Christian
Habe es ein wenig geändert. Läuft, DANKE!
Dim X As Range
Set X = Columns(5).Find(what:=-1, after:=Cells(ActiveCell.Row, 5), lookat:=xlWhole, LookIn:=xlValues)
If Not X Is Nothing Then
Application.Goto Cells(X.Row, 7)
Else
Exit Sub
Set X = Nothing
End If
Anzeige
AW: Spalte durchsuchen und Springen
18.08.2021 10:17:59
Rudi
Hallo,
ins Klassenmodul des Blatts:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim vntRow
If Target.Column = 7 Then
vntRow = Application.Match(1, Range(Target.Offset(1, -2), Cells(Rows.Count, 5)), 0)
If Not IsError(vntRow) Then
Cells(vntRow + Target.Row, 7).Activate
End If
End If
End Sub
Gruß
Rudi
Anzeige
AW: Spalte durchsuchen und Springen
18.08.2021 11:50:43
Christian
Hallo Rudi, vielen Dank. Gerds Code hat mit kleinen Änderungen zum Erfolg geführt!
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige