Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Indexformel mit zusätzlichen Funktionen
#1
Hallo zusammen,

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?


Für eine Lösung wäre ich sehr dankbar.
LG
zwoo


Angehängte Dateien
.xlsx   IndexFormel.xlsx (Größe: 15,24 KB / Downloads: 5)
Antworten Top
#2
Hallo, :19:

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ösen21

.xlsb   Zellbereich_bei_Aenderung_X2_Wert_setzen.xlsb (Größe: 13,78 KB / Downloads: 5)
________
Servus
Case
Antworten Top
#3
Hallo,

danke für die Antwort.

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  

LG
zwoo
Antworten Top
#4
Hallo, :19:

hast recht - probiere es mal so: :21:

.xlsb   Zellbereich_bei_Aenderung_X2_Wert_setzen.xlsb (Größe: 13,78 KB / Downloads: 5)
________
Servus
Case
[-] Folgende(r) 1 Nutzer sagt Danke an Case für diesen Beitrag:
  • zwoologe
Antworten Top
#5
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.

LG
zwoo
Antworten Top
#6
Hallo, :19:

übernimm es doch mal in das "Calculate-Ereignis" und sieh was passiert. Ich habe keinen Scanner und kann es deshalb nicht testen. :21:
________
Servus
Case
Antworten Top
#7
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.

LG
zwoo
Antworten Top
#8
Hallo,

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.

LG
zwoo
Antworten Top
#9
Moin,


Zitat:Wenn F4 >0 dann Wert in/von E4 in L1 abbilden.


Code:
=WENN(F4>0;E4;"sonstwas")
die Formel in L1 eintragen.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
[-] Folgende(r) 1 Nutzer sagt Danke an WillWissen für diesen Beitrag:
  • zwoologe
Antworten Top
#10
Hallo,

die Formel funktioniert super. 

Ich werde später vllt. noch ein paar Fragen dazu stellen

Danke.


LG
zwoo
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste