für mein laufendes Projekt benötige ich mal wieder einen Schwung Hilfe.
Mit der Formel {=INDEX(A:A;MAX((A4:A128<>"")*ZEILE(4:128)))} erhalte ich wie gewünscht die geforderten Werte in der Zelle X2 angezeigt. In dieser Form arbeitet die Formel so, dass immer auf den"letzten Wert" aus Spalte A Bezug genommen wird. (Siehe Anhang)
Die Zellen A4:A128 sind für die Eingabe mit einen Barcodescanner sensibelisiert (Nicht im Anhang), was bedeutet, dass jede Eingabe in diesen Zellen automatisch, nach dem der Barcode zugeordnet wurde, wieder gelöscht wird. Die Spalte A ist dadurch eigentlich immer leer bzw. es befindet sich für den Bruchteil einer Sekunde genau immer nur ein Wert in der Spalte A. Mit der oben genannten Indexformel oder Funktion sehe ich den ermittelten Bezug aus Spalte A in der Zelle X2 also immer nur kurz aufblitzen.
Nun zur Problemlösung: Ist es möglich den durch Bezug ermittelten Wert in der Zelle X2 zu halten bis er von dem nächsten ermittelten Wert aus Spalte A überschrieben wird?
im Moment musst du die Zahl in Spalte A noch eintragen, aber der Scanner sollte das "Private Sub Worksheet_Change(ByVal Target As Range)" auch auslösen
Leider passiert immer noch das selbe, der Wert blitzt kurz auf und wird nicht gehalten. Oder übersehe ich jetzt was?
Code:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
'-------------------------------------------------------------
On Error GoTo Fin
Application.EnableEvents = False
Range("X2").Value = Tabelle1.Evaluate("=INDEX(A:A,MAX((A4:A128<>"""")*ROW(4:128)))")
Fin:
Application.EnableEvents = True
'--------------------------------------------------------------
If Not [xlEIN] Then Exit Sub
If Target.Cells.Count > 1 Then Exit Sub
If flg Then flg = False: Exit Sub
If Target.Column = [spScanner] Then Call GefundenenWert_Select(Target.Value)
If Target.Column = [spAnzahl] Then Call GeheInZelle(Target.Row, [spScanner])
End Sub
27.09.2019, 10:41 (Dieser Beitrag wurde zuletzt bearbeitet: 27.09.2019, 10:41 von zwoologe.)
Hallo,
leider wirkt auch diese Medizin nicht. Immer noch die gleichen Symptome. :22:
Kann man nicht mit Calculate die Berechnung der Zelle ein oder ausschalten? Scan kommt rein Calculate an, Abbild in Zelle X2 erscheint, Calculate aus bis zum nächsten scan.
27.09.2019, 13:20 (Dieser Beitrag wurde zuletzt bearbeitet: 27.09.2019, 13:20 von zwoologe.)
Hallo,
jetzt passiert nichts mehr. :05:
Code:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Fin
Range("X2").Calculate = False
Range("X2").Value = Tabelle1.Evaluate("=INDEX(A:A,MAX((A4:A128<>"""")*ROW(4:128)))")
Fin:
Range("X2").Calculate = True
End Sub
Ist auch bestimmt nicht richtig.
Edit: Und wenn man den Wert immer gleich aus A4:A128 in einen anderen Bereich U4:U5000 kopieren würde , als Liste , könnte ich meine ursprüngliche Formel genau da ansetzen. Ich kann das nur nicht umsetzen.
alle Versuche mußten scheitern. Excel kann keine flüchtigen Werte halten. Macht aber nichts.
Ich habe mir jetzt einen Weg ausgetüftelt der mit einer WENN Formel seinen Anfang nimmt und am Ende das liefern sollte was ich so dringend benötige.
Hoffentlich bewege ich mich jetzt nicht wieder ausserhalb der Möglichkeiten die Excel bietet.
Die Formel soll folgendes tun: Wenn F4 >0 dann Wert in/von E4 in L1 abbilden.
Ist das mit WENN möglich und wenn Ja, wie müßte die Formel dann aussehen?
Und wenn Nein, über einen Hinweis an mich dass es nicht möglich ist wäre ich dankbar.