Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1844to1848
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Ist-Stand von Werten kopieren

Ist-Stand von Werten kopieren
12.09.2021 07:29:45
Werten
Guten Morgen,
ich suche eine Lösung zu einem Excel Problem.
https://www.herber.de/bbs/user/148022.xlsx
In der Tabelle soll folgendes passieren:
1. Wenn ich in Feld 1 unter Datum ein Datum eintrage, sollen die Teilbeträge von C2-C10 nach E2-E10 einmalig kopiert werden.
Quasi einen Ist-Stand erzeugen.
Im weiteren Verlauf können sich die Werte unter Teilbetrag ändern, jedoch nicht mehr im Feld 1. Das ist das Ziel.
2. Das selbe möchte ich dann in Feld 2, 3, 4 und 5 haben, jedoch mit einer Ausnahme.
Es soll nur der Differenzbetrag sein, zu dem was in den Feldern zuvor stand.
Bsp: E2= 50€ , nun steht in C2=100€, dann kommt in G2= C2-E2= 50€.
Dass alles auch nur wenn, der Prozentsatz unter 100% liegt. Sollte der Prozentsatz 100% erreicht haben, werden die weiteren Felder mit "0" belegt.
Das ganze dient einer Abrechnung.
Vielen Dank im voraus für die ganze Mühe.
Mit freundlichen Grüßen,
Benjamin

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ist-Stand von Werten kopieren
12.09.2021 10:32:46
Werten
Hi,
man könnte Formeln hinterlegen und sie mit ihren Werten überschreiben, sobald ein Datum in E11:I11 eingetragen wird.
Hab Dir das im Anhang mal gemacht - und vorher hab ich die ganzen verbundenen Zellen entfernt, denn das macht man nicht - gibt nur Ärger.
Ich hab Dir die Formeln aus E2 und F2 in Zeile 15 als Text kopiert, damit Du sie zur Verfügung hast, da sie ja bei einem Datumseintrag verschwinden. E2-Formel runterkopieren, und F2-Formel runter und nach rechts kopieren.
https://www.herber.de/bbs/user/148025.xlsm
VG, Boris
Anzeige
AW: Ist-Stand von Werten kopieren
12.09.2021 15:02:41
Werten
Hallo Boris,
vielen Dank für deine Arbeit.
Ich habe noch etwas herumgespielt und hatte am Ende alles, was ich wollte.
Nun habe ich die Formeln in eine andere Excel Datei kopiert und die Zeilen und Spalten in den Formeln angepasst.
Das funktioniert auch noch.
Sobald ich nun aber das Datum in Feld 1 eingebe, wird die Formel nicht überschrieben.
In deiner Excel überschreibt er die Formel, in meiner nicht.
Woran kann das liegen?
Vielen Dank und VG,
Benjamin
Das liegt am VBA-Code...
12.09.2021 16:12:44
{Boris}
Hi,
...und zwar habe ich die Wirkung der EIngaben begrenzt auf den Bereich E11:I11 - das muss man natürlich anpassen.

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("E11:I11")) Is Nothing Then
If Target.Count = 1 Then
If IsDate(Target) Then
Target.Offset(-9).Resize(9).Copy
Target.Offset(-9).PasteSpecial (xlPasteValues)
Application.CutCopyMode = False
End If
End If
End If
End Sub
VG, Boris
Anzeige
Kleine Korrektur
12.09.2021 16:45:04
{Boris}
Hi,
die Formeln waren übrigens falsch.
E2 muss heißen (und runterkopieren):
=WENN(E$11="";"";C2*(B2 Und F2 (und sowohl runter als auch nach rechts kopieren):
=WENN(F$11="";"";($C2-E2)*($B2 Bei der Gelegenheit: Es kann auch der VBA-Code von Copy & Paste befreit werden:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("E11:I11")) Is Nothing Then
If Target.Count = 1 Then
If IsDate(Target) Then
Target.Offset(-9).Resize(9).Value = Target.Offset(-9).Resize(9).Value
End If
End If
End If
End Sub
VG, Boris
Anzeige
AW: Kleine Korrektur
13.09.2021 06:47:54
Benjamin
Guten Morgen Boris,
vielen Dank nochmal.
Ich habe einfach keine Ahnung von VBA. Habe alles ausprobiert.
Selbst wenn ich in deiner Datei einfach nur ein paar Leerzeilen hinzufügen und dann das Makro anpasse, funktioniert es nicht mehr.
Ich weiß nicht, was man machen muss.
Ich habe dir meine geänderte Tabelle nochmal angehängt.
Vielleicht magst du mir das Makro nochmal anpassen?
Falls du einen Tipp hast, was ich falsch gemacht habe oder worauf ich achten muss, wäre ich dir sehr dankbar.
Vielen Dank und beste Grüße,
Benjamin
https://www.herber.de/bbs/user/148036.xlsm
Anzeige
AW: Kleine Korrektur
13.09.2021 09:01:44
{Boris}
Hi,
das Makro gehört nicht in ein allgemeines Modul sondern in das Klassenmodul des Tabellenblattes - bei Dir Tabelle1, da es sich um ein Ereignis-Makro (Change-Ereignis - also Reaktion auf Änderung eines Zellwertes) handelt.
Und damit das Makro nicht bei jeder Zelländerung ausgeführt wird, ergibt es Sinn, den Bereich der Wirksamkeit einzuschränken - und zwar in Deinem Fall auf den Zellbereich, in dem die Datumseingaben getätigt werden konkret F47:N47.
Da Du außerdem weiterhin die verbundenen Zellen hast und Du offensichtlich Prozent und Summe fixen möchtest, muss Resize auf 2 Spalten ausgedehnt werden.
Also: Diesen Code in das Klassenmodul Tabelle1 (Tabelle1):

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("F47:N47")) Is Nothing Then
If Target.Count = 1 Then
If IsDate(Target) Then
Target.Offset(-9).Resize(9, 2).Value = Target.Offset(-9).Resize(9, 2).Value
End If
End If
End If
End Sub
VG, Boris
Anzeige
AW: Kleine Korrektur
13.09.2021 13:55:33
Benjamin
Hallo Boris,
ich habe das alles durchgeführt und deine Beschreibung auch verstanden. Zumindest das mit den Klassenmodul.
Vielen Dank dafür.
Ich habe die Tabelle nochmal angehängt. Es funktioniert in der ersten Spalte, dass es überschrieben wird.
In den danach folgenden geht es auf einmal nicht mehr.
Könntest du dir das bitte nochmal angucken?
Die verbundenen Zellen können auch gerne entfallen. Dann kann man das Datum direkt unter Summe setzen.
Das wäre vollkommen ok.
https://www.herber.de/bbs/user/148037.xlsm
Vielen Dank für deine ganze Arbeit!!
Beste Grüße,
Benjamin
Anzeige
Nein!
13.09.2021 15:45:54
{Boris}
Hi,
Du solltest kein neues Klassenmodul hinzufügen.
Das Modul des Tabellenblattes - hier: Tabelle1 - ist bereits ein Klassenmodul (es heißt zwar nicht "Klassenmodul", ist aber ein solches!)
Also im VBA-Editor steht unter "DieseArbeitsmappe": Tabelle1 (Tabelle1) - da machst Du einen Doppelklick drauf und kopierst den Code in das sich rechts öffnende Fenster. Das von Dir hinzugefügte Klassenmodul entfernst Du!
VG, Boris
Hast Du aufgegeben?
14.09.2021 18:43:37
{Boris}
Hi,
...oder wo hängt es noch?
VG, Boris

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige