2012-12-12 30 views
18

Ich habe eine Zeile, in der Formeln mit Werten der gleichen Zeile verwendet werden. Die nächste Zeile ist leer, nur mit einer anderen Hintergrundfarbe.Kopieren von Formel in die nächste Zeile beim Einfügen einer neuen Zeile

Jetzt, wenn ich eine neue Zeile einfügen (durch einen Rechtsklick auf die leere Zeile und "Einfügen"), bekomme ich eine neue Zeile mit NO Hintergrundfarbe (was ich will), aber die Zeile auch nicht Formeln enthalten: Wie bekomme ich Excel, um beim Erstellen der neuen Zeile intelligenter zu werden und die Formeln aus der vorherigen Zeile zu kopieren?

Eine weitere Information: Datenüberprüfungsinformationen (d. H. Eine Dropdown-Liste) werden kopiert, wenn die neue Zeile eingefügt wird.

Danke.

+0

Wie kann ich VBA verwenden? Kann ich beim Einfügen einer Zeile ein Makro aktivieren? – Manu

+0

Eine weitere Information: Datenüberprüfungsinformationen (d. H. Eine Dropdown-Liste) werden kopiert, wenn die neue Zeile eingefügt wird. – Manu

Antwort

21

Machen Sie den Bereich mit Ihren Daten und Formeln eine Tabelle:

enter image description here

Dann neue Informationen in der nächsten Zeile hinzugefügt werden alle Formeln in der Tabelle für die neue Zeile kopieren. Die Datenvalidierung wird für die neue Zeile genauso angewendet wie für die gesamte Spalte. Dies ist in der Tat Excel ist schlauer mit Ihren Daten.

NO VBA erforderlich ...

+3

(1/2) Nur zu beachten, Excel fügt Filterkopfzeilen und gebänderte Zeilen auf dem Tisch hinzu. Außerdem ist es besser, die * tatsächlichen * Header nicht auszuwählen und das Häkchen bei "Meine Tabelle hat Header" zu entfernen. Excel fügt generische Kopfzeilen hinzu, aber auf der Registerkarte Tabelle können Sie diese Kopfzeile entfernen. Wenn Sie schon dabei sind, können Sie auch gebänderte Zeilen deaktivieren. – ADTC

+3

(2/2) Sobald die Kopfzeile entfernt wurde, wird eine leere Zeile an ihrer Stelle belassen. Wenn Sie die leere Zeile auf irgendeine Weise löschen, wird der Fehler "inkonsistente Formel" angezeigt, obwohl die Formeln konsistent sind. Bearbeiten Sie einfach die Formel und wenden Sie sie erneut an. Excel bietet sogar an, die Formel für die gesamte Spalte auf dem neuesten Stand zu halten. Oder Sie können Fehler ignorieren wählen. – ADTC

+0

PS: Ein Problem mit dieser Lösung besteht darin, dass zusammengefügte Zellen zusammengeführt werden und Sie sie nicht mithilfe der Funktion "Zellen zusammenführen" zusammenführen können (die in der Tabelle deaktiviert wäre). Ich denke, du musst nur lernen, damit zu leben (oder die Spaltenbreite zu erweitern, wenn du kannst). – ADTC

1

Sie müssen die neue Zeile einfügen und dann aus der Quellzeile in die neu eingefügte Zeile kopieren. Excel ermöglicht das Einfügen spezieller Formeln. So in Excel:

  • Setzen Sie die neue Zeile
  • Kopieren Sie die Quellzeile
  • Wählen Sie die neu Zielzeile erstellt wird, kopieren und spezielle
  • Paste einfügen als Formeln

VBA wenn erforderlich, wenn Zeilen ("1: 1") Quelle und Zeilen ("2: 2") Ziel sind:

Rows("2:2").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove 
Rows("2:2").Clear 

Rows("1:1").Copy 
Rows("2:2").PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone 
+0

Ich möchte die Kopie der Formel nicht manuell machen. Gibt es einen Weg? – Manu

+0

Eine weitere Information: Datenüberprüfungsinformationen (d. H. Eine Dropdown-Liste) werden kopiert, wenn die neue Zeile eingefügt wird. – Manu

+0

Die Datenüberprüfung sollte nicht kopiert werden, wenn Sie eine neue Zeile einfügen. Solange Sie nicht kopieren und dann die Quellzeile einfügen. Sie müssen eine Zeile einfügen, dann die Quelle kopieren und spezielle Formeln wie oben beschrieben in das Ziel einfügen. – InContext

2

Eine andere wichtige Sache, die ich in Bezug auf das Kopieren Zeilen innerhalb einer Tabelle zu finden, ist, dass das Arbeitsblatt, das Sie auf Bedürfnisse arbeiten aktiviert werden. Wenn Sie eine Arbeitsmappe mit mehreren Blättern haben, müssen Sie das Blatt speichern, von dem Sie das Makro aufgerufen haben, und dann das Blatt mit der Tabelle aktivieren. Sobald Sie fertig sind, können Sie das Originalblatt erneut aktivieren.

Sie können Application.ScreenUpdating = False verwenden, um sicherzustellen, dass der Benutzer nicht sieht, dass Sie Arbeitsblätter innerhalb Ihres Makros wechseln.

Wenn Sie das Arbeitsblatt nicht aktiviert haben, scheint die Kopie nicht richtig zu funktionieren, d. H. Einige Sachen scheinen zu funktionieren, und andere Sachen nicht?

0

Wenn Sie ein Arbeitsblatt mit vielen Zeilen haben, die alle die Formel enthalten, kopieren Sie am einfachsten eine Zeile, die keine Daten enthält (aber Formeln enthält) und dann "kopierte Zellen einfügen" unten/oben die Zeile, in der Sie hinzufügen möchten. Die Formeln bleiben. Zur Not ist es in Ordnung, eine Zeile mit Daten zu verwenden. Löschen Sie es einfach oder überschreiben Sie es nach dem Einfügen.

Verwandte Themen