Kann man in Excel automatisch Zellen aus einem neuen Arbeitsblatt zu einer Formel hinzufügen?

8920
Tom Wilkinson

Ich möchte eine neue finanzielle Tabelle erstellen, um die Ausgaben nachzuverfolgen. Da die Kostenblätter erstellt werden und ich keine Tabellenkalkulation erstellen kann, um sie mit Formeln zu füllen. Ich habe ein Übersichtsblatt, das die Summen der anderen Blätter addiert und derzeit am Ende des Monats eine Formel von Hand erstellt. Gibt es eine Möglichkeit, mehrere Blätter automatisch zu summieren und der Summe beim Erstellen neue Blätter hinzuzufügen?

Ist dies mit Standard-Excel möglich oder muss ich VBA verwenden?

Ich weiß, wie ich dieselbe Zelle bereits über mehrere Arbeitsblätter hinzufügen kann (siehe: Excel - Formeln, die sich auf mehrere Arbeitsblätter summieren ? )

Dieses vba-Skript ist ein Teil des Wegs zu dem, was ich suche, aber nicht genau das, was ich tun möchte: Excel - Daten automatisch aus Zelle importieren, wenn eine neue Registerkarte erstellt wird

PS Ich kenne VBA nicht, bin aber bereit zu lernen. Ich bin an C / Python gewöhnt.

2
Wenn Sie "Cookie-Cutter" -Bereiche summieren, können Sie Blätter mit den Namen "Anfang" und "Ende" vor und nach allen Blättern einfügen, die Sie konsolidieren möchten. Verwenden Sie dann = SUMME (Anfang: Ende! A1) und stellen Sie sicher, dass dies der Fall ist Sie fügen immer Blätter zwischen den Blättern "Anfang" und "Ende" ein. Lord Peter vor 9 Jahren 0
Das war, was ich als schnelle und einfache Lösung in Betracht zog. Wahrscheinlich was ich für März umsetzen werde. Ich hoffe immer noch, dass es einen Weg geben könnte, das meiste davon zu automatisieren. Im Wesentlichen möchte ich eine ziemlich kugelsichere Version für einen Endbenutzer erstellen, die ich selten bearbeiten muss. Tom Wilkinson vor 9 Jahren 0
Warum funktioniert diese Lösung nicht für Sie? Befinden sich die Summen auf jedem Blatt an verschiedenen Orten? Raystafarian vor 9 Jahren 0
Es funktioniert für mich persönlich. Ich würde es jedoch vorziehen, ein narrensicheres System zu entwickeln, damit jemand anderen, der kein neues Blatt zwischen den vorhandenen erstellt, die korrekten Werte berechnen würde. Abgesehen davon interessiert mich auch, ob dies aus Sicht des Lernens von Excel möglich ist. Tom Wilkinson vor 9 Jahren 0
Ich bin neu bei VBA - können Sie mir die richtigen Ressourcen zeigen oder ein Arbeits-Skript zur Verfügung stellen? Tom Wilkinson vor 9 Jahren 0
Es hängt davon ab, ob Sie möchten, dass es geändert wird, wenn Sie es informieren oder ändern, wenn es passiert. Ich würde empfehlen, dass Sie es auf eine Schaltfläche codieren. Raystafarian vor 9 Jahren 0
Eine Schaltfläche, die das neue Blatt erstellt? Tom Wilkinson vor 9 Jahren 0
So etwas wie ein "Berechnen!" Schaltfläche, die alle Blätter mit einem bestimmten Präfix durchläuft und daraus eine Summe bildet? Tom Wilkinson vor 9 Jahren 0

1 Antwort auf die Frage

1
Raystafarian

Angenommen, Sie haben beispielsweise Ihre laufende Summe Sheet1!A1. Richtig, also erstellen Sie jetzt ein Makro, das Sie ausführen können, das alle Summen aus den anderen Tabellenblättern übernimmt und summiert.

Lassen Sie sich die Summen für jedes Blatt ist auf Zelle übernehmen A10-

Sub updatethesum() Dim ws As Worksheet Dim i As Double i = 0 For Each ws In ThisWorkbook.Worksheets  If ws.Name <> "Sheet1" Then i = i + ws.Range("A10") End If  Next Sheets("Sheet1").Range("A1") = i End Sub 

Wenn Sie sich Sorgen machen, dass jemand einen Buchstaben anstelle einer Zahl A10eingibt, können Sie die Eingabe mit etwas wie folgendem einschränken -

Sub updatethesum()  Dim ws As Worksheet Dim i As Double i = 0 Dim bletter As Boolean  For Each ws In ThisWorkbook.Worksheets  If ws.Name <> "Sheet1" Then bletter = IsNumeric(ws.Range("A10").Value) If bletter = True Then i = i + ws.Range("A10") End If End If  Next Sheets("Sheet1").Range("A1") = i End Sub 
Klappt wunderbar! Jetzt um es bei meinen Endbenutzern zu testen Tom Wilkinson vor 9 Jahren 0
@nur eine Notiz, dies hinterlässt keinen Hinweis darauf, dass die Gesamtsumme korrekt ist. Stattdessen könnte ich eine Zeichenfolge sein, die jedes Blatt kontinuierlich als Referenz hinzufügt und als Formel einfügt. Dann hätten Sie Beweise. Raystafarian vor 9 Jahren 0
Ein weiterer Punkt - für finanzielle Berechnungen funktioniert dies nicht, da Long die Zahlen rundet. Das Ändern von Long in Double behebt dies. Tom Wilkinson vor 9 Jahren 0