AW: Zeile mit Formel einfügen
18.08.2017 07:29:50
Rene
Hallo zusammen,
Ich hab ein Code gefunden, diesen auch angepasst aber hier kommt jetzt eine Fehlermeldung:
Private Sub CommandButton1_Click()
'Listeneingabe
'bei Eingabe in neuer Zeile werden Formeln kopiert
Dim objZelle As Range, arrFormelSpalten
Dim lngSpalte As Long, intJ As Integer, bolFormel, lngOffset As Long
Const lngSpalte1 As Long = 1 'Erste Spalte der Liste
Const lngSpalteL As Long = 3446 'Letzte Spalte der Liste
Const lngZeile1 As Long = 12 '1. Zeile mit Formel
arrFormelSpalten = Array(5, 9, 10, 11) 'Spalten mit Formeln
With Me
For Each objZelle In Target
'Prüfen ob geänderte Zelle(n) unterhalb der letzten Zeile mit Formel
If objZelle.Row > .Cells(.Rows.Count, arrFormelSpalten(0)).End(xlUp).Row _
And objZelle.Row > lngZeile1 _
And objZelle.Column = lngSpalte1 Then
Application.EnableEvents = False
'Formel in Spalten nach unten kopieren
For lngSpalte = LBound(arrFormelSpalten) To UBound(arrFormelSpalten)
.Range(.Cells(.Rows.Count, arrFormelSpalten(lngSpalte)).End(xlUp), _
.Cells(objZelle.Row, arrFormelSpalten(lngSpalte))).FillDown
Next
Application.EnableEvents = True
End If
Next objZelle
'Bei Eingaben in letzter Zeile nach rechts nächste Eingabezelle selektieren
If Target.Row = .Cells(.Rows.Count, arrFormelSpalten(0)).End(xlUp).Row _
And Target.Column >= lngSpalte1 _
And Target.Column lngSpalteL Then
lngSpalte = lngSpalte1 'ab 1. Spalte prüfen
lngOffset = 1 'Nächste Zeile selektieren wenn Eingabe in Letzter Spalte
End If
'Prüfen, ob Spalte Formel enhält
bolFormel = False
For intJ = LBound(arrFormelSpalten) To UBound(arrFormelSpalten)
If lngSpalte = arrFormelSpalten(intJ) Then bolFormel = True: Exit For
Next
If bolFormel = False Then
'Zelle selektieren
.Cells(Target.Row + lngOffset, lngSpalte).Select
Exit Do
End If
lngSpalte = lngSpalte + 1
Loop
End If
End With
End Sub
Hier kommt die Fehlermeldung bei "For Each objZelle in Target" --> Objekt erforderlich.
Könnte mir hier jemand helfen.
lg