einen ganzzahligen Wert, von dem dann eine andere variable Zahl subtrahiert wird und nun soll das Ergebnis in der Ursprungszelle aktualisiert werden.
Bis zur Berechnung des neuen Wertes, inkl. Sicherstellung, das die Differenz positiv bleibt (sont Abbruch und Ursprungswert) klappt alles,
aber für die Übertragung / Aktualisierung des neuen Wertes fehlt mir der Weg
Für Denkanstöße bedanke ich mich sehr und stehe für Fragen gerne zur Verfügung
09.02.2023, 14:37 (Dieser Beitrag wurde zuletzt bearbeitet: 09.02.2023, 14:41 von wuppti.)
hallo LCohen,
mit Ursprungszelle (stimmt, ist ein unglücklicher Ausdruck) meine ich den von der INDEX gefunden Wert aus Tabelle 2
Dieser soll nach der "Rechnung" mit dem neuen Wert aktualisiert werden.
Denn anschließend soll in der nächsten Abfrage der "NEUE" Wert zur Verfügung stehen, bis die Kapazität auf Null ist.
09.02.2023, 15:06 (Dieser Beitrag wurde zuletzt bearbeitet: 09.02.2023, 15:08 von LCohen.)
Wertezellen können sich nur über VBA ändern. Entweder über ein Ereignis oder manuell angestoßen. Da I4 und J4 geändert werden, ist letzteres vermutlich sinnvoller. Oder das Ereignis leert anschließend I4 und J4.
Verstehe ich dich richtig das ich einen Button brauche, der nach "klick" über ein VBA den neuen Wert gegen den alten tauscht ?
Dann habe ich jetzt eine neue Baustelle, denn VBA ist ja mal so gar nicht meins
im Prinzip so. Im Code ist jetzt keine Fehlerbehandlung - ich gehe davon aus, dass die gesuchten Werte vorhanden sind.
Da ich nicht weiß, wo Dein neuer Wert steht, hab ich den aus A1 ( Cells(1, 1) genommen.
Code:
Sub Makro_Wert_Ersetzen()
Dim lrow&, lcol&
With Sheets("Tabelle2")
lrow = .Range("A1:A30").Find(what:=.Cells(4, 9).Value, after:=.Cells(1, 1)).Row
lcol = .Range("A1:Z1").Find(what:=.Cells(4, 10).Value, after:=.Cells(1, 1)).Column
.Cells(lrow, lcol).Value = Cells(1, 1).Value 'Hier statt 1, 1 Deine Zeile, Spalte
End With
End Sub
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:1 Nutzer sagt Danke an schauan für diesen Beitrag 28 • wuppti
Hallo André,
danke für deinen Lösungsansatz. Ich habe einen Button eingesetzt und deinen Code hinterlegt, leider funktioniert der Code nur bedingt und an falscher Stelle.
Daher stelle ich mal die Tabelle online, hätte ich wahrscheinlich besser gleich gemacht, damit man besser sehen kann, was passieren soll.
In Tabelle 1 wird in Abhängigkeit von I4 und J4 im Feld M4 die aktuelle Kapazität angezeigt. Ist diese größer als die angefragte aus Feld K4 wird in N4 die neue Kapazität angezeigt.
DIESE soll jetzt in Tabelle2 in der Zelle aktualisiert werden, aus der vorher der alte Wert gefunden wurde, damit in der nächsten Abfrage der neue Wert zu Grunde gelegt werden kann.
Wird also Beispielsweise durch die Abfrage I4 mit Datum 03.01.2023 und J4 mit Auswahl Jojo der Wert in M4 = 80 gefunden und beispielsweise K4 = 30 Einheiten angefragt dann gibt mir die
Tabelle als positiven Wert in N4 die Differenz = 80(alt)-30(angefragt) = 50(neu)
Diese 50 (neu) sollen jetzt die 80(alt) ersetzen und damit als neue Grundlage zur Verfügung stehen. Beim ersetzen/aktualisieren des Wertes muss also quasi die INDEX-Abfrage erneut stattfinden, damit die richtige Zelle in Tabelle2 referenziert wird.
Ist so etwas möglich ?