Microsoft Excel

Herbers Excel/VBA-Archiv

Excel Bug - Gültigkeit i.V.m. Change-Ereignis | Herbers Excel-Forum


Betrifft: Excel Bug - Gültigkeit i.V.m. Change-Ereignis von: {Boris}
Geschrieben am: 06.08.2012 23:52:47

Hi Leute,

beigefügte Mappe streikt (will heißen: seriöses Weiterarbeiten nicht möglich!), sobald in D1 ein Wert ausgewählt wird (weitere Beschreibung in der Mappe).
Wer kann das unter welcher Excelversion bestätigen / nicht bestätigen?

https://www.herber.de/bbs/user/81299.xlsm

VG, Boris

  

Betrifft: AW: Excel Bug - Gültigkeit i.V.m. Change-Ereignis von: Matze,Matthias
Geschrieben am: 07.08.2012 00:21:18

Hi Borris,
excel2010 dasselbe, aber mach mal die Gültigkeit ohne Dropdown,
dann kannste da in D1 irgend eine Zahl eingeben - nanu ?
oder auch 5 Tage schreiben.
müsste das left nicht auf die Auswahlliste greifen? nicht in den Target?

Hmmm Matze


  

Betrifft: AW: Excel Bug - Gültigkeit i.V.m. Change-Ereignis von: {Boris}
Geschrieben am: 07.08.2012 00:41:08

Hi Matze,

danke erstmal für`s Testen und vor allem für`s Bestätigen :-)

Allerdings ist


aber mach mal die Gültigkeit ohne Dropdown,
dann kannste da in D1 irgend eine Zahl eingeben - nanu ?


das gar nicht so "nanu", denn ich hatte in der Mappe ja geschrieben:

Die Gültigkeit ist so eingestellt, dass Falscheingaben zulässig sind.

Aber es scheint hier definitiv ein Unterscheid zu sein, ob man die Werte manuell eingibt oder per Liste auswählt. Der "Bug" tritt nur bei Listenauswahl auf...?!?

VG, Boris


  

Betrifft: AW: Excel Bug - Gültigkeit i.V.m. Change-Ereignis von: Matze,Matthias
Geschrieben am: 07.08.2012 01:04:15

ändere mal die Listen daten in
11 Tage, 12 13 14 ...
Stimmt das Ergebnis ? so und nun gute N8
Matze


  

Betrifft: AW: Excel Bug - Gültigkeit i.V.m. Change-Ereignis von: {Boris}
Geschrieben am: 07.08.2012 01:11:57

Hi Matze,

hab ich gemacht - es bleibt alles beim Alten...
Aber mir geht es ja auch gar nicht um Lösungen, sondern vielmehr um eine möglichst allgemeingültige Feststellung, dass Excel in dieser Konstellation eine Macke hat. Erst wenn diese Aussage belastbar ist, kann man sich auch sinnvoller Weise auf die Suche nach der Wurzel des Übels machen.

VG, Boris


  

Betrifft: AW: Excel Bug - Gültigkeit i.V.m. Change-Ereignis von: Matze,Matthias
Geschrieben am: 07.08.2012 00:21:39

Hi Borris,
excel2010 dasselbe, aber mach mal die Gültigkeit ohne Dropdown,
dann kannste da in D1 irgend eine Zahl eingeben - nanu ?
oder auch 5 Tage schreiben.
müsste das left nicht auf die Auswahlliste greifen? nicht in den Target?

Hmmm Matze


  

Betrifft: AW: Excel Bug - Gültigkeit i.V.m. Change-Ereignis von: Matze,Matthias
Geschrieben am: 07.08.2012 00:22:14

Hi Borris,
excel2010 dasselbe, aber mach mal die Gültigkeit ohne Dropdown,
dann kannste da in D1 irgend eine Zahl eingeben - nanu ?
oder auch 5 Tage schreiben.
müsste das left nicht auf die Auswahlliste greifen? nicht in den Target?

Hmmm Matze


  

Betrifft: kein Excel Bug - Ereignis-Schleife von: Erich G.
Geschrieben am: 07.08.2012 02:02:10

Hi Boris,
das ist kein Bug, sondern ein recht beliebter Programmierfehler. :-)

Bei Änderung von D1 wird Worksheet_Change ausgelöst. Diese Prozedur ändert D1.
Dadurch wird Worksheet_Change ausgelöst. Diese Prozedur ändert D1. Dadurch wird...
Probier mal

Private Sub Worksheet_Change(ByVal Target As Range)
With Target
    If .Address(0, 0) = "D1" Then
        Application.EnableEvents = False
        .Value = Left(.Value, 1) * 8
        Application.EnableEvents = True
    End If
End With
End Sub
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich


  

Betrifft: AW: kein Excel Bug - Ereignis-Schleife von: Matze,Matthias
Geschrieben am: 07.08.2012 08:29:50

Moin @ All,
jo, da hat der Erich völlig Recht, so geht es. Mit SelectionChange gehts auch , bedarf aber 2 Klicks woran man erkennt das D1 bei sofortigen Ereigniswechsel diesen Fehler macht.
Ich würde vermuten das der Klick auf das Dropdown des Ereignis auslöst und da in dem Moment noch keine Auswahl in der Liste erfoglt ist, gibt es da nix zu rechnen , somit wird dieses zum Fehler führen.

So wieder was gelernt
Thx Erich u. Borris


  

Betrifft: @Matze von: Erich G.
Geschrieben am: 07.08.2012 10:13:00

Hi Matze,
damit da nichts Falsches hängen bleibt:

"Ich würde vermuten das der Klick auf das Dropdown des Ereignis auslöst und da in dem Moment
noch keine Auswahl in der Liste erfoglt ist, gibt es da nix zu rechnen , somit wird dieses zum Fehler führen."
Das stimmt nicht. Wieso sollte es zum Fehler führen, wenn es nix zu rechnen gibt?

Ich denke, ich hatte den Fehler anschaulich beschrieben:
"Bei Änderung von D1 wird Worksheet_Change ausgelöst. Diese Prozedur ändert D1.
Dadurch wird Worksheet_Change ausgelöst. Diese Prozedur ändert D1. Dadurch wird...
"

Wodurch diese erste Änderung ausgelöst wird, ist egal. Mit Gültigkeit oder Dropdown hat das nichts zu tun.
Es reicht dass Tippen eines Wertes in D1; der Fehler tritt auch auf, wenn es für D1 keine Gültigkeitsprüfung gibt.

Den Satz
"Mit SelectionChange gehts auch , bedarf aber 2 Klicks woran man erkennt
das D1 bei sofortigen Ereigniswechsel diesen Fehler macht."
habe ich gar nicht verstanden.

Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich

P.S. @Boris: Gräm dich nicht - auch Götter machen Fehler :-))


  

Betrifft: Asche... von: {Boris}
Geschrieben am: 07.08.2012 08:39:57

...auf mein schmales Haupt.... :-((
Mensch, wie peinlich...

VG, Boris


  

Betrifft: Noch ein kleiner Test : Zähler im VBA-Code von: NoNet
Geschrieben am: 07.08.2012 10:35:39

Hallo {Boris}, Erich, Matze,

ändere den Code mal folgendermassen ab :

Option Explicit

Dim lngZ

Private Sub Worksheet_Change(ByVal Target As Range)
    lngZ = lngZ + 1
    Debug.Print lngZ
    
    With Target
        If .Address(0, 0) = "D1" Then
            .Value = Left(.Value, 1) * 8
        End If
    End With
End Sub

Hier läuft jetzt ein Zähler mit und gibt den Wert im Direktbereich aus, wie häufig sich diese Prozedur selbst aufruft.
Auf meinem PC (Win7, Excel 2010) sind das 95 Wiederholungen ohne Fehler (keine Ahnung, weshalb die Rekursion danach beendet wird ?!?) wenn man den Wert manuell eingibt und ein Abbruch mit Fehler nach 92 Wiederholungen, wenn man den Wert über das Dropdown auswählt.
Kurioserweise ist Excel beim ersten Durchlauf nach der Wertauswahl per Dropdown abgestürzt, beim erneuten Testen erscheint eine Fehlermeldung im Code und die Excel Popup-Meldung "Nicht genug Speicher für eine vollständige Anzeige" beim zweiten Durchlauf, die zwar kurz weggeklickt werden kann, dann aber immer wieder erscheint und das Weiterarbeiten in der Mappe verhindert.

Salut, NoNet


  

Betrifft: Könnten wir diesen Thread bitte löschen? von: {Boris}
Geschrieben am: 07.08.2012 10:22:37

...ist ja wirklich peinlich...
Ich könnte hier vielleicht auch als Katalysator noch ein paar unflätige Worte hinterlassen, die ein Löschen forcieren würden ;-))

VG, Boris


  

Betrifft: @{Boris} : Bitte Mut zur Lücke ;-) von: NoNet
Geschrieben am: 07.08.2012 10:39:29

Hey {Boris},

Könnten wir diesen Thread bitte löschen?

Da bin ich absolut dagegen : Auch wenn es wirklich PEINLICH ist ;-) : Nur wer den "Mut zur (gelegentlichen) Lücke" hat, beweist damit wahre Größe - und die wollen wir DIR sicherlich nicht absprechen !

Ergo : Thread behalten, das macht "Götter" menschlicher ;-)

Just my 50 Cent, NoNet :-)


  

Betrifft: Vielen Dank... von: {Boris}
Geschrieben am: 07.08.2012 10:42:35

Hi NoNet,

...für Deine aufmunternden Worte sowie

Auch wenn es wirklich PEINLICH ist ;-)

:-))

VG, Boris


  

Betrifft: Das ist zwar HART - aber EHRLICH ;-) _oT von: NoNet
Geschrieben am: 07.08.2012 10:45:38

_oT = "ohne Text"


  

Betrifft: Ich bin ja selbstkritisch genug... von: {Boris}
Geschrieben am: 07.08.2012 10:51:36

Hi NoNet,

...um das genau so zu sehen ;-)
Dennoch darf das ruhig verschwinden, da der Herber-Server doch dadurch unnötig belastet wird ;-)
Das ist doch sicherlich ein schlagkräftiges Argument... ;-)

VG, Boris


  

Betrifft: Stimmt : Proportionalität Peinlichkeit<=>GB von: NoNet
Geschrieben am: 07.08.2012 11:06:06

Hey {Boris},

ich hatte natürlich vergessen, dass eine Korrelation zwischen "Peinlichkeit eines Beitrags" und des dafür benötigten Speicherplatzes besteht - und da könnte dieser Thread speichermässig schon sehr ins Gewicht fallen und sicherlich ca. 50% der Server-Datenbanken belegen ;-)

Unter diesem Aspekt bin ich natürlich auch dafür, den Thread zu löschen auf ein anderes READONLY-Speichermedium auszulagern...

Aber Du weißt ja : "Wer den Schaden hat....."

Übrigens : "Willkommen im Club" - solche peinlichen Fauxpas haben sich auch schon andere hier geleistet...

Hast Du eigentlich mal meinen modifzierten Code mit Zähler getestet ? - Welches Ergebnis erhältst Du ?

Gruß, NoNet



http://www.exceltreffen.de/index.php?page=224


Beiträge aus den Excel-Beispielen zum Thema "Excel Bug - Gültigkeit i.V.m. Change-Ereignis"