HERBERS Excel-Forum - das Archiv
Zellwert festhalten
Lennox

Hallo zusammen,
ich steh vor folgenden Problem:
Ich habe in in Zelle A1 eine Verknüpfung zu einer Datenbank. Hier wird meistens 0 angezeigt.
In Zelle B1 möchte ich diesen Wert, sollte er größer 0 sein angezeigt haben.
Auch wenn A1 wieder nach wenigen Minuten oder gar Sekunden auf 0 umspringt.
Ist es möglich diesen Wert in Zelle B1 festzuhalten?
Danke für Eure Hilfe.

AW: Zellwert festhalten
IngGi

Hallo Lennox,
per VBA:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
If Target <> 0 Then
Target.Offset(0, 1) = Target
End If
End If
End Sub
Einen Einwand der Spezialisten sehe ich schon voraus, aber auf das Abschalten der Events vor der Eingabe in B1 habe ich bewusst verzichtet, da er in der ersten If-Zeile sowieso gleich wieder rausfliegt.
Gruß Ingolf
AW: Zellwert festhalten
hary

Hi
versuch's mal so.

Private Sub Worksheet_Calculate()
If Cells(1, 1) <> 0 Then
Cells(1, 2) = Cells(1, 1).Value
End If
End Sub

gruss hary
@ Ingolf: Schaetze das A1 erst bei Aenderung in der Datenbank reagiert. Da hilft das Change Ereigniss doch nichts oder? Calculate reagiert bei Anderung des Inhalts.
gruss hary
AW: Zellwert festhalten
IngGi

Hallo hary,
ich gehe davon aus, dass es sich um eine Datenbankabfrage über Menü Daten | Externe Daten importieren handelt. Die Aktualisierung solcher Abfragen löst - im Gegensatz zur Aktualisierung einer "Abfrage" per Formel - das Changeereignis aus.
Gruß Ingolf
AW: Zellwert festhalten
Lennox

Hi,
danke Euch beiden für die Hilfe.
Ich lade ein Bsp.Sheet hoch.
https://www.herber.de/bbs/user/65784.xlsx
So sieht die Aufgabe im Ganzen aus:
Die Spalten B bis E haben meist eine 0.
Hier können sich über eine Verknüpfung Zahlen größer 0 erscheinen, aber auch wieder auf 0 zurückspringen. In den Spalten F bis I sollte so eine Änderung von 0 fixiert werden.
Eine Veränderung der Zahlen in Spalte B bis E müßte man jetzt in dem Bsp.xlsx per Hand eintragen.
Vielen Dank - ohne Hilfe komm ich nicht weiter
So sieht die Aufgabe im Ganzen aus:
robert

hi,
warum nicht gleich ?
da kommt eine relativ einfache frage, diese wird beantwortet,
dann kommt der nachschlag !!
ist es so schwer, gleich das problem so zu zeigen, wie es letztendlich ist ?
gruß
robert
AW: So sieht die Aufgabe im Ganzen aus:
Lennox

Hi Robert,
stimmt, ich wußte aber auch nicht das es nur über VBA geht. Dachte es gibt evt. eine Formel, die hätte ich
in mein excel sheet eintragen können. Dann wäre es einfach gewesen.
Ingolf meinte, es geht nicht ohne VBA. VBA kann ich leider nicht.
Hary und Ingolf hatten dann auch unterschiedliche Vorschläge.
Deswegen habe ich dann ein Bsp. hochgeladen.
Hoffe trotzdem auf eure Hilfe.
Danke.
Grüsse
..na dann offenlassen :-) Gruß
robert

Das Problem ist im Prinzip dasselbe wie...
Luc:-?

...das mit dem Festschreiben von Zeitpktn bzw Werten zu einem bestimmten Zeitpkt, Lennox,
und dazu muss es im Herber-Archiv auch FmlLösungen geben. Kann mir vorstellen, dass hier die Iteration und der gewollte Zirkelbezug eine Rolle spielt, halte solche Lösungen aber für grdsätzl instabil. Allerdings würde sich in deinem Fall das ja stets wieder richtig einstellen, sobald die Zelle wieder einen Wert >0 zeigt. Die Fml könnte also ungefähr so aussehen...
=WENN(A1=0;B1;A1)
Sobald A1 das 1.Mal ≠0 ist steht in B1 der Wert von A1 und bleibt solange erhalten, bis A1 wieder ≠0 wird. Dazu müssen Iterationen zugelassen wdn, sinst gibt's 'nen Zirkelbezugsfehler.
Falls es nicht klappen sollte (könnte noch 'was fehlen, kann ich jetzt nicht testen), bitte mal selber suchen (evtl auch bei excelformeln.de).
Gruß Luc :-?
Getestet! Fml fkt so! Gruß owT
Luc:-?

:-?
AW: teste mal
hary

Moin Lennox
Teste mal die Mappe.
https://www.herber.de/bbs/user/65797.xlsm
Gruss hary
@hary-wann werden Änderungen wirksam?
robert

AW: teste mal
Lennox

Hi,
vielen Dank schonmal.
Ich komme leider nicht an die Mappe ran.
Ich downloade das Zip und entpacke die Mappe.
Habe dann verschiedene Ordner und XML Dateien.
Grüsse
AW: mal anders
hary

Hi Lennox
Dann nimm diese. Du hast doch Excel2007 oder?
https://www.herber.de/bbs/user/65807.xls
gruss hary
@ Robert
Passiert wenn ich in Tab2 eine Null gegen eine Zahl tausche.
AW: mal anders
robert

hi hary,
danke ! hab das mit tabelle2 übersehen :-(
gruß
robert
AW: mal anders
Lennox

Funktioniert.
Vielen Dank Hary.
Könnt ihr beide nicht lesen oder warum wird...
Luc:-?

...meine Antwort ignoriert, Lennox & Hary...?!
Wollt ihr mit Gewalt an eurem kindischen „Nur-mit-VBA-Glauben“ festhalten oder wisst ihr nicht, wie die Iteration eingestellt wird? Wenigstens ausprobieren hättet ihr es ja mal können, auch, wenn ich selbst das sonst für potenziell instabil halte und ggf auch eine VBA-Lösung vorziehen würde...
Stattdessen wird der Thread länger und länger für Nichts...
Ihr seid allesamt heiße Kandidaten für den 1.Preis im Ignorance-Contest... :->
Luc :-?
AW: Könnt ihr beide nicht lesen oder warum wird...
Lennox

Hab beides ausprobiert, auch mit der Iteration.
Nur wenn die Liste länger wird, was es bei mir wird, ist die VBA -Lösung stabiler und einfacher,
da ich bei Neustart nicht wieder alle Zellen nullen muss.
Danke für Deinen Beitrag.
Nett, dass du das doch noch mitteilst! ;-/ orT
Luc:-?

Gruß Luc :-?