Excel, Zellinhalte sollen automatisch nach unten "rutschen"

2 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

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.

Woher ich das weiß:Berufserfahrung – IT-Administrator (i.R.)

Oubyi, UserMod Light  12.03.2012, 21:50

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?

0
nixwissentu 
Beitragsersteller
 12.03.2012, 21:59
@Oubyi, UserMod Light

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

0
Oubyi, UserMod Light  13.03.2012, 17:08
@nixwissentu

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.

0

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)