
Gibt es eine Möglichkeit, aus der Zahl, die eine Formel zurückgibt, einen Wert zu machen, ohne die Methode „Ausschneiden und Einfügen“ zu verwenden?
Weil ich das jeden Tag bei etwa hundert verschiedenen Zellen machen müsste. Ausschneiden und Einfügen ist also keine praktikable Methode. Gibt es nicht eine Abkürzung oder einen anderen seltsamen Weg, wie ich das vermeiden kann?
Zur Vereinfachung: Ich brauche B1 = A4. Dann aktualisiere ich A4, indem ich die Daten des neuen Tages hinzufüge, und dann brauche ich B2 = A4 – den alten Wert von B1.
Damit dies funktioniert, muss B1 ein Wert und keine Formel sein, die auf A4 verweist, da ich A4 jeden Tag aktualisieren können muss. Daher muss nach jedem Tag die nächste Zelle ein Wert sein.
Denken Sie daran, ich kann nicht immer wieder kopieren und einfügen
Kann mir jemand helfen!
Antwort1
Dies setzt voraus, dass die SpalteBund ZelleA4Beginnen Sie komplett leer. Platzieren Sie das folgende Ereignismakro im Codebereich des Arbeitsblatts:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim A4 As Range, B1 As Range, n As Long
Set A4 = Range("A4")
Set B1 = Range("B1")
If Intersect(A4, Target) Is Nothing Then Exit Sub
Application.EnableEvents = False
If B1 = "" Then
B1 = A4
Else
n = Cells(Rows.Count, "B").End(xlUp).Row
Cells(n + 1, "B").Value = Cells(n, "B").Value - A4
End If
Application.EnableEvents = True
End Sub
Da es sich um Arbeitsblattcode handelt, ist es sehr einfach,Installierenund automatisch zu verwenden:
- Klicken Sie mit der rechten Maustaste auf den Registerkartennamen unten im Excel-Fenster
- Wählen Sie „Code anzeigen“ – dadurch wird ein VBE-Fenster geöffnet
- Füge das Material ein und schließe das VBE-Fenster
Wenn Sie Bedenken haben, probieren Sie es zunächst auf einem Probearbeitsblatt aus.
Wenn Sie die Arbeitsmappe speichern, wird das Makro mit gespeichert. Wenn Sie eine neuere Version von Excel als 2003 verwenden, müssen Sie die Datei als .xlsm und nicht als .xlsx speichern.
Zuentfernendas Makro:
- Rufen Sie die VBE-Fenster wie oben auf
- Löschen Sie den Code
- Schließen Sie das VBE-Fenster
Weitere Informationen zu Makros im Allgemeinen finden Sie unter:
http://www.mvps.org/dmcritchie/excel/getstarted.htm
Und
http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx
Weitere Informationen zu Ereignismakros (Arbeitsblattcode) finden Sie unter:
http://www.mvps.org/dmcritchie/excel/event.htm
Damit dies funktioniert, müssen Makros aktiviert sein!
Antwort2
Mit etwas, das einem festgelegten Muster wie diesem entspricht, kann man einen benannten Bereich („NR“) erstellen, indem man relative Referenzen verwendet und beim Erstellen des benannten Bereichs sorgfältig die aktive Zelle auswählt und diese dann jeden Tag zum Einfügen von Werten verwendet.
Damit set pattern
meine ich, dass, wenn der 1. Juli in den Zellen B1, H4 und XX9 „stattfindet“, der 2. Juli direkt unter diesen Zellen stattfindet: B2, H4 und XX10. Und so weiter durch jeden beliebigen Monat. Man würde NIEMALS den zweiten Tag in B2, H38, XX10 setzen.
Sie können einen benannten Bereich im Feld links neben der Formelbearbeitungsleiste auswählen. Das ist der Bereich, der Ihre aktive Zelle anzeigt. Nach der Auswahl müssen Sie nur noch Copy
, dann Paste|Special|Values
in einem einzigen Schritt und fertig. Wählen Sie also den benannten Bereich im Feld aus, kopieren und fügen Sie ihn ein. Fertig.
Damit dies funktioniert, verwenden Sie relative Referenzen (kein $B$1: verwenden Sie B1). Dies wird also ausgeführt, wenn es in B1 ist, aber wenn B2 ausgewählt ist, wird stattdessen B2 ausgeführt.
Der andere Schritt, damit das funktioniert, besteht darin, die erste Zelle während der Erstellung des NR zu Ihrer aktiven Zelle zu machen. Wenn Sie eine Zelle darunter sind, wird B2 ausgewählt, nicht B1!
Erstellen Sie die Zeichenfolge, die die Zellen im Bereich auflistet, ganz wie Sie möchten, selbst wenn Sie alle „etwa hundert“ Zelladressen eingeben müssen. Es ist nur einmal. Viele Tricks, die das Zusammenfügen von Zeichenfolgen nutzen, können hilfreich sein. Wenn Sie fertig sind, überprüfen Sie es nicht, indem Sie die kleinen Textstücke untersuchen! Wählen Sie es aus und prüfen Sie, ob alle richtigen Zellen ausgewählt wurden. Auf diese Weise ist es wesentlich einfacher, genau zu prüfen: ähnlich wie wenn man zwei Seiten Zeichen für Zeichen vergleicht, um zu sehen, ob sie gleich sind, anstatt sie übereinander zu legen, gegen das Licht zu halten und zu sehen, ob es Unterschiede gibt. Letzteres ist nicht nur viel einfacher, sondern auch genauer.
Erstellen Sie die Zeichenfolge außerhalb der NR-Funktion, kopieren Sie sie und fügen Sie sie in das Wertefeld für die neue NR ein. Kein Eintippen außerhalb der einfachen, mit Tools ausgestatteten Umgebung einer normalen Tabellenkalkulationsseite.
Und zum Schluss noch eine Windows-Merkwürdigkeit, keine Excel-Merkwürdigkeit: Die LETZTE Zelladresse im NR ist die, in der es beginnt, nicht die ERSTE. Wenn Sie TAB
durch sind, wird es zur nächsten ersten Zelle übergehen, aber... WAS? Listen Sie also die Zellen auf, die mit #2, #3, ... #letzte, #1 beginnen, und die Zelle, die Sie zuerst als aktive Zelle auswählen möchten, wird ausgewählt.
Hier ist das Kopieren und Einfügen nicht wichtig, sondern nur „da, wo Sie sind“, um mit der weiteren Arbeit zu beginnen, wenn dies erledigt ist. Andere Verwendungszwecke, andere Tabellenkalkulationen könnten jedoch sinnvoll sein, dies in Betracht zu ziehen.
Um es noch einmal zu wiederholen: Jeden Tag wählen Sie eine Zelle aus, in die Sie Werte einfügen möchten, wählen dann den Bereich aus und kopieren und fügen ihn ein. Das ist alles. Es sind keine Makros erforderlich, Sie müssen also nichts lernen, und der Bereich kann einfach bearbeitet oder ergänzt werden, wenn sich etwas ändert.