Excel, Zellinhalte sollen automatisch nach unten "rutschen"
Hi,
ich versuche folgendes:
Eintrag in Zelle A10 soll automatisch in Zelle A11 eingetragen werden und jeder weitere Eintrag in A10 ebenso. Die bereits vorhanden Einträge sollen dabei nach unten verschoben werden. Das selbe will ich auch in der Spalte B, C, D... usw machen. Für die Spalte A hab ich es schon geschafft, allerdings bekomme ich für die weiteren Spalten nicht hin. Kann mir jemand helfen...wäre echt super....
Soweit bin ich schon:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo ErrorHandler
If Not Intersect(Target, Range("A1")) Is Nothing Then
Range("B65536").End(xlUp).Offset(1, 0).Value = Target.Value
Application.EnableEvents = False
Target.Value = ""
Target.Select
ErrorHandler:
Application.EnableEvents = True
End If
End Sub
2 Antworten
Also:
Erstmal schreibt der hier gepostete Code alles was in A1 eingetragen wird in die Spalte B, ab B2 und zwar immer untereinander, den aktuellen Eintrag also immer in die LETZTE Zeille, nicht nach B2!
Soll das SO auch für die anderen Spalten gelten, oder soll es so laufen, wie Du es beschrieben hast?
Ich habe im Moment leider keine Zeit mehr, aber wenn Du mir hier antwortest, schaue ich mir das morgen Nachmittag auf jeden Fall noch näher an.
SUPER, SUPER, SUPER!
Toll wäre noch, wenn ich die Zellen 10 farbig machen könnte, damit sich diese "Eintrags-Zellen" hervorheben von der übrigen Tabelle. Aber so ist es auch schon total toll!!!!! DANKE SCHÖN
Vielleicht so (wenn ich Dich richtig verstehe):
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo ErrorHandler
If Target.Row = 10 Then
Application.EnableEvents = False
Target.Copy
Target.Offset(1, 0).Insert Shift:=xlDown
Target.Interior.ColorIndex = 6
Target.Offset(1, 0).Interior.ColorIndex = xlNone
Target.Value = ""
Application.CutCopyMode = False
Target.Select
End If
ErrorHandler:
Application.EnableEvents = True
End Sub
Eine andere Zahl für den ColorIndex (bis 55) ergibt eine andere Farbe.
Freut mich, dass ich helfen konnten ☼
Danke fürs ☆
aktive Zelle einfärben und dann nach unten verrutschen?
activecell.interior.colorindex = 6 '6 ist gelb
activecell.insert shift:=xldown 'schiebt alles nach unterhalb, und nimmt Formelbezüge mit.
...und ganze Zeile einsetzen?
activecell.entirerow.insert 'ohne shift, weil das nicht anders geht
auch hier werden Formelbezüge mitgenommen (im Gegensatz zu copy-paste!)
eine Zelle entfernen ist übrigens activecell.delete shift:=xlup ,
im Ggs zum Tastatur-Delete, das Werte entfernt, das hieße .clearcontents (löscht nur Einträge) oder .clearformats (nur Formate) oder .clear (löscht alles)
Hatte doch noch einen Moment Zeit und es hat mir keine Ruhe gelassen (;o).
Dieser Code schreibt Dir, wie von Dir beschrieben, alles was Du in Zeile 10 einträgst, egal in welcher Spalte in die Zeile 11 der gleichen Spalte und schiebt den Rest nach unten.
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo ErrorHandler
If Target.Row = 10 Then
Application.EnableEvents = False
Target.Copy
Target.Offset(1, 0).Insert Shift:=xlDown
Target.Value = ""
Application.CutCopyMode = False
Target.Select
End If
ErrorHandler:
Application.EnableEvents = True
End Sub
Hattest Du Dir das SO vorgestellt?