Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zeile einfügen funktioniert nicht (mehr)

Forumthread: Zeile einfügen funktioniert nicht (mehr)

Zeile einfügen funktioniert nicht (mehr)
07.05.2016 11:58:10
Oisse

Hallo Zusammen,
ich habe folgenden Code, der auch schon funktioniert hat aber jetzt nicht mehr funktioniert.
Ich möchte gerne, wenn sich die Stückzahl ändert, die komplette Zeile kopieren, darunter eine neue Zeile einfügen mit der neuen Stückzahl.
Es kommt die Fehlermeldung:
"Das wird nicht funktionieren, weil dadurch Zellen in einer Tabelle in ihrem Arbeitsblatt verschoben würden."


'Wenn sie die Stückzahlen ändern, also nicht die gesamte Stückzahl verkauft werden konnte,
'dann wird die komplette Zeile kopiert, eine neue Zeile darunter eingefügt mit den kopierten  _
Daten
'und anschließend in Spalte 5 der neue Stückzahlenwert eingetragen.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Dif As Long
Dim Ur As Long
Dim Ver As Long
Ur = Cells(Target.Row, 5)    'Angebotene Stückzahl
Ver = Cells(Target.Row, 22)  'Tatsächlich verkaufte Stückzahl
If Target.Row > 2 And Target.Column = 22 Then
If Cells(Target.Row, 22) <> Cells(Target.Row, 5) Then
Dif = Ur - Ver       'Ermitteln der neuen Stückzahl
Application.EnableEvents = False
Target.EntireRow.Copy
Target.Offset(1, 0).EntireRow.Insert shift:=xlDown 'hier kommt die  _
Fehlermeldung
Target.Offset(1, -17) = Dif
Target.Offset(1, 0) = ""
Target.Offset(1, 1) = ""
Application.EnableEvents = True
Application.CutCopyMode = False
End If
End If
End Sub

Was bitte muss ich ändern?

Anzeige

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeile einfügen funktioniert nicht (mehr)
07.05.2016 12:10:16
Hajo_Zi
ist die Tabelle vielleicht geschützt?
Bei mir kommt kein Fehler, das könnte aber daran liegen das meine Tabelle anders aussieht.
Gruß Hajo

AW: Zeile einfügen funktioniert nicht (mehr)
07.05.2016 12:18:48
Oisse
Hallo Hajo,
wie kann ich herausfinden, ob die Tabelle geschützt ist?
Also es ist kein Blattschutz aktiv.
Ich habe auch keinen Tabellenschutz festgelegt.
Ist da trotzdem etwas explizit aufzuheben?

Anzeige
AW: Zeile einfügen funktioniert nicht (mehr)
07.05.2016 12:21:17
Hajo_Zi
NEIN. Du hast ja schon festegestellt das Sie nicht geschützt ist. Ansonsten kann ich zu meinem Beitrag nichts neues schreiben.
Gruß Hajo

AW: Zeile einfügen funktioniert nicht (mehr)
07.05.2016 12:25:32
Oisse
Hallo Hajo,
ich habe jetzt versucht manuell eine Zeile einzufügen was die selbe Fehlermeldung erzeugt hat.
Nun habe ich ausprobiert: Zellen Zellen einfügen Blattzellen einfügen Da hat es funktioniert.
Gibt es per vba einen extra Code für Blattzellen einfügen?
Gruß Oisse

Anzeige
AW: Zeile einfügen funktioniert nicht (mehr)
07.05.2016 12:30:25
Hajo_Zi
NEIN.
Ich kann dann n icht weiter helfen.
Du musst dann warten bis jemand auf Deinen Rechner schaut und sich die Datei ansieht.
Viel Erfolg.
Ich bin dann raus.
Gruß Hajo

AW: Zeile einfügen funktioniert nicht (mehr)
07.05.2016 12:40:18
Oisse
Trotzdem vielen Dank für deine Antworten.
Noch ein schönes Wochenende.
Gruß Oisse

Anzeige
warum zeigst denn die Datei nicht?
07.05.2016 12:44:16
Matthias L
Hallo
Warum zeigst denn die Datei nicht?
Da hättest Du sicher längst eine Lösung für Dein Problem bekommen.
Persönliche Daten kann man ja ändern.
Gruß Matthias

AW: warum zeigst denn die Datei nicht?
07.05.2016 13:25:48
Oisse
Hallo Matthias,
gerne stelle ich die Mappe rein.
Also wenn man in der letzten Zeile die Stückzahl ändert funktioniert es, dass eine Zeile eingefügt und Daten geändert werden.
Probiert man es beispielsweise in Zeile eins, dann kommt die Fehlermeldung.
https://www.herber.de/bbs/user/105434.xlsm

Anzeige
AW: warum zeigst denn die Datei nicht?
07.05.2016 14:47:06
Michael
Hi zusammen,
ich hatte den Fehler tlw. auch in anderen Zeilen und die insert-Konstruktion etwas angepaßt.
Außerdem habe ich zwei Sachen eingebaut:
a) Nachsehen, ob in Spalte G in der Zeile darunter der gleiche Begriff steht: wenn ja, hat sich der Anwender in der Zeile vertan: die ganze Rechnerei bringt nichts, wenn das nicht abgefangen wird.
b) Überprüfung, ob mehr verkauft wird als da ist.
Aber vielleicht hast Du derartige Sachen ja auch schon in Deiner UF, die sehen wir ja nicht.
Der Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Dif As Long
Dim Ur As Long
Dim Ver As Long
' Stop
If Target.Row > 2 And Target.Column = 22 Then
Ur = Cells(Target.Row, 5)    'Angebotene Stückzahl
Ver = Target.Value  'Tatsächlich verkaufte Stückzahl
If Ur <> Ver Then
Dif = Ur - Ver       'Ermitteln der neuen Stückzahl
If Dif < 0 Then
MsgBox "Holla, Du kannst nicht mehr verkaufen als da ist."
Target.Value = 0
Target.Select
Exit Sub
End If
If Range("G" & Target.Row) = Range("G" & Target.Row + 1) Then
MsgBox "Wert in G identisch mit Zeile darunter - Vorsicht!"
' hier evtl. darauf reagieren, z.B.
Application.EnableEvents = False
Application.Undo
Application.EnableEvents = True
Exit Sub
End If
Application.EnableEvents = False
Rows(Target.Row + 1).Insert Shift:=xlDown
Rows(Target.Row).Copy Rows(Target.Row + 1)
Target.Offset(1, -17) = Dif
Target.Offset(1, 0) = ""
Target.Offset(1, 1) = ""
Application.EnableEvents = True
Application.CutCopyMode = False
End If
End If
End Sub
Schöne Grüße,
Michael

Anzeige
warum eigentlich -> Target.Select ... owT
07.05.2016 17:51:17
Matthias L

Target.Select ...
08.05.2016 16:21:29
Michael
Hi Matthias,
ohne das Target.select ist die "nächste" Zelle aktiv (je nach globaler Einstellung in Optionen, erweitert, Markierung nach Eingabe verschieben: unten, rechts usw.), d.h. der User muß wieder händisch zurück in die Eingabezelle, bevor er den Wert erneut eingeben kann.
Mit Target.Select ist er gleich wieder in der richtigen Zelle und kann erneute Eingaben machen.
Gruß,
Michael

Anzeige
würde aber auch ohne gehen ...
08.05.2016 21:45:34
Matthias L
Hallo Michael
würde aber auch ohne Select gehen ... aber
gut, ok - hab Deinen Beweg-Grund verstanden.
Gruß Matthias

AW: warum zeigst denn die Datei nicht?
07.05.2016 18:23:05
Oisse
Hallo Michael,
vielen herzlichen Dank und - ich bin absolut begeistert.
Irgendwelche Fehler hatte ich nicht abgefangen und bin sehr sehr dankbar, dass du das mit eingebaut hast.
Ein schönes Wochenende.
Und herzliche Grüße
Oisse

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Zeile in Excel einfügen: So behebst du das Problem


Schritt-für-Schritt-Anleitung

  1. Arbeitsblatt überprüfen: Stelle sicher, dass das Arbeitsblatt nicht geschützt ist. Gehe zu „Überprüfen“ und wähle „Blattschutz aufheben“, falls aktiviert.

  2. Zelleninhalt prüfen: Überprüfe, ob in der Zeile, in die du eine neue Zeile einfügen möchtest, keine ausgefüllten Zellen vorhanden sind. Excel kann keine neuen Zeilen einfügen, wenn nicht leere Zellen in der Tabelle vorhanden sind.

  3. Manuelles Einfügen:

    • Klicke mit der rechten Maustaste auf die Zeilennummer, unter der du eine neue Zeile einfügen möchtest.
    • Wähle „Zeile einfügen“ aus dem Kontextmenü.
    • Falls das nicht funktioniert, gehe zu „Start“ > „Einfügen“ > „Zeilen einfügen“.
  4. VBA-Code anpassen: Wenn du einen VBA-Code verwendest, stelle sicher, dass du die richtige Syntax verwendest:

    Rows(Target.Row + 1).Insert Shift:=xlDown
  5. Fehlermeldung beachten: Wenn du die Fehlermeldung erhältst: „Das wird nicht funktionieren, weil dadurch Zellen in einer Tabelle in ihrem Arbeitsblatt verschoben würden“, überprüfe die Tabelle auf Formatierungen oder Daten, die das Einfügen verhindern.


Häufige Fehler und Lösungen

  • Fehler: „Excel kann keine neuen Zeilen einfügen“: Dies tritt häufig auf, wenn die Zellen in der Zeile unterhalb ausgefüllt sind. Entferne den Inhalt oder verschiebe die Daten.

  • Fehler: „Excel Zeile einfügen nicht möglich“: Überprüfe, ob der Blattschutz aktiviert ist. Wenn ja, hebe diesen auf.

  • Fehler: „Das wird nicht funktionieren, weil dadurch Zellen in einer Tabelle verschoben würden“: Dieser Fehler kann auftreten, wenn die Tabelle zu viele Daten enthält. Versuche, die Tabelle zu verkleinern oder die Daten zu konsolidieren.


Alternative Methoden

  • Zellen einfügen: Wenn das Einfügen einer Zeile nicht funktioniert, kannst du alternativ Zellen einfügen. Wähle die Zelle aus, unter der du neue Zellen hinzufügen möchtest, und gehe zu „Start“ > „Einfügen“ > „Zellen einfügen“.

  • Tabelle in einen Bereich umwandeln: Wenn deine Daten in einer Tabelle sind, kannst du die Tabelle in einen Bereich umwandeln. Klicke auf die Tabelle, gehe zu „Tabellentools“ und wähle „In Bereich umwandeln“. Nach dieser Umwandlung kannst du Zeilen einfacher einfügen.


Praktische Beispiele

  • Beispiel 1: Um eine Zeile unterhalb der letzten Zeile einer Tabelle einzufügen, kannst du den folgenden VBA-Code verwenden:

    Rows(Rows.Count).End(xlUp).Offset(1, 0).Insert Shift:=xlDown
  • Beispiel 2: Wenn du eine Zeile basierend auf einer Bedingung einfügen möchtest, nutze:

    If Cells(Target.Row, 22).Value <> Cells(Target.Row, 5).Value Then
       Rows(Target.Row + 1).Insert Shift:=xlDown
    End If

Tipps für Profis

  • VBA Optimierung: Deaktiviere die Ereignisse in deinem VBA-Skript, um unnötige Fehlermeldungen zu vermeiden:

    Application.EnableEvents = False
    ' Dein Code hier
    Application.EnableEvents = True
  • Verwendung von „Undo“: Implementiere die Möglichkeit, letzte Änderungen rückgängig zu machen, um Fehler zu vermeiden. Nutze Application.Undo im Code.

  • Datenvalidierung: Füge eine Datenvalidierung hinzu, um sicherzustellen, dass der Benutzer nur gültige Werte eingibt, bevor eine Zeile eingefügt wird.


FAQ: Häufige Fragen

1. Warum kann ich in Excel keine Zeile einfügen? Es kann sein, dass die Tabelle geschützt ist oder dass sich ausgefüllte Zellen in der Zeile unterhalb befinden, was das Einfügen verhindert.

2. Was bedeutet die Fehlermeldung „ausgefüllte Zellen können nicht über die Tabelle hinaus verschoben werden“? Diese Fehlermeldung zeigt an, dass du versuchst, eine Zelle zu verschieben oder einzufügen, was nicht möglich ist, weil die Zellen in der Tabelle bereits Daten enthalten.

3. Wie kann ich manuell eine Zeile in Excel einfügen? Klicke mit der rechten Maustaste auf die Zeilennummer, unter der du eine neue Zeile hinzufügen möchtest, und wähle „Zeile einfügen“ aus dem Menü.

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