Excle 2010 : Leere Zelle in Spalte bei Spaltenwechsel automatisch anspringen
Moin Moin,
tja, was soll ich sagen, Neuling in der Makroerstellung bei Excel braucht bitte einen Tipp.
a.)
Ich brauche ein Makro, welches in dem Bereich einer Arbeitsmappe ( z.B. B11:K30 ) immer in die nächste freie Zelle von oben in einer Spalte springt, wenn ich die Spalte wechsle.
Hier sollen dann Zahlen eingegeben werden.
b
Vertippt man sich bei der Eingabe, müsste dann eine eine einfache Korrekturmöglichkeit her. Grundsätzlich wäre das ja über die Rückgängig Schaltfläche möglich. Bei späteren Korrekturen jedoch nicht. Ich stelle mir eine Zelle oberhalb des Bereiches vor, die als Schaltfläche dient; aktiviert Korrekturen wieder zulässt und deaktiviert das Makro unter a
normal ablaufen läßt.
Im Netz finde ich vieles, aber nicht dieses Problem.
Hat jemand hierzu eine Idee ?
LG Frank
tja, was soll ich sagen, Neuling in der Makroerstellung bei Excel braucht bitte einen Tipp.
a.)
Ich brauche ein Makro, welches in dem Bereich einer Arbeitsmappe ( z.B. B11:K30 ) immer in die nächste freie Zelle von oben in einer Spalte springt, wenn ich die Spalte wechsle.
Hier sollen dann Zahlen eingegeben werden.
b
Vertippt man sich bei der Eingabe, müsste dann eine eine einfache Korrekturmöglichkeit her. Grundsätzlich wäre das ja über die Rückgängig Schaltfläche möglich. Bei späteren Korrekturen jedoch nicht. Ich stelle mir eine Zelle oberhalb des Bereiches vor, die als Schaltfläche dient; aktiviert Korrekturen wieder zulässt und deaktiviert das Makro unter a
Im Netz finde ich vieles, aber nicht dieses Problem.
Hat jemand hierzu eine Idee ?
LG Frank
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 255007
Url: https://administrator.de/forum/excle-2010-leere-zelle-in-spalte-bei-spaltenwechsel-automatisch-anspringen-255007.html
Ausgedruckt am: 22.04.2025 um 20:04 Uhr
7 Kommentare
Neuester Kommentar
Hallo
Auf was für Falscheingaben soll reagiert werden?
Was ist richtig eingegeben, was falsch?
Gruss Urs
Ich brauche ein Makro, welches in dem Bereich einer Arbeitsmappe ( z.B. B11:K30 ) immer in die nächste freie Zelle von oben
in einer Spalte springt, wenn ich die Spalte wechsle.
Sollte mit folgendem Code im entsprechenden Worksheet funktionierenin einer Spalte springt, wenn ich die Spalte wechsle.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.EnableEvents = False
If Target.Cells.Count > 1 Then GoTo ende 'wenn mehr als 1 Zelle markiert, beenden
If Intersect(Target, Range("B11:K30")) Is Nothing Then GoTo ende
MsgBox " ich bin im Bereich, und mache deshalb was", vbOKOnly
Cells(1048576, Target.Column).End(xlUp).Offset(1, 0).Select
ende:
Application.EnableEvents = True
End Sub
b
Vertippt man sich bei der Eingabe, müsste dann eine eine einfache Korrekturmöglichkeit her. Grundsätzlich wäre
das ja über die Rückgängig Schaltfläche möglich. Bei späteren Korrekturen jedoch nicht. Ich stelle
mir eine Zelle oberhalb des Bereiches vor, die als Schaltfläche dient; aktiviert Korrekturen wieder zulässt und
deaktiviert das Makro unter a
normal ablaufen läßt.
Vertippt man sich bei der Eingabe, müsste dann eine eine einfache Korrekturmöglichkeit her. Grundsätzlich wäre
das ja über die Rückgängig Schaltfläche möglich. Bei späteren Korrekturen jedoch nicht. Ich stelle
mir eine Zelle oberhalb des Bereiches vor, die als Schaltfläche dient; aktiviert Korrekturen wieder zulässt und
deaktiviert das Makro unter a
Auf was für Falscheingaben soll reagiert werden?
Was ist richtig eingegeben, was falsch?
Gruss Urs
Hi Frank,
hier dazu noch ein Beispiel-Sheet: AutoChangeToEmptyCell_255007.xlsm, falls die angesprungenen leeren Zellen nur in deinem angegebenen Range liegen sollen.
Grüße Uwe
hier dazu noch ein Beispiel-Sheet: AutoChangeToEmptyCell_255007.xlsm, falls die angesprungenen leeren Zellen nur in deinem angegebenen Range liegen sollen.
Dim oldColumn As Integer
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rngChange As Range
Set rngChange = Range("B11:K30")
If Not Application.Intersect(rngChange, Target) Is Nothing Then
If oldColumn <> Target.Column Then
Application.EnableEvents = False
With rngChange
If Cells(.Row, Target.Column) <> "" Then
Cells(.Row + .Rows.Count - 1, Target.Column).End(xlUp).Offset(1, 0).Select
Else
Cells(.Row, Target.Column).Select
End If
End With
Application.EnableEvents = True
oldColumn = Target.Column
End If
End If
End Sub
Grüße Uwe
@Meierjo:Yip, der TO hat mir gerade via PM mitgeteilt das sein Problem nun gelöst ist. Teil b war ja quasi nur ein möglicher Workaround bei Codes die er sonst benutzt hat. Aber das hat mein Code ja schon berücksichtigt indem der Zellwechsel nur beim wechseln der Spalte stattfindet.