Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Warum geht nicht "Call ComboBox1_KeyUp(39,0)"?

Forumthread: Warum geht nicht "Call ComboBox1_KeyUp(39,0)"?

Warum geht nicht "Call ComboBox1_KeyUp(39,0)"?
Martin
Hallo liebe Excelfreunde,
ich würde gerne ein Ereignis-Makro einer ComboBox ("ComboBox1_KeyUp") bewusst auslösen. Leider _ klappt das nicht, obwohl ich für die Argumente "ByVal KeyCode As MSForms.ReturnInteger" mit der Zahl 39 und für "ByVal Shift As Integer" mit der Zahl 0 gültige Werte angegeben habe:

Call ComboBox1_KeyUp(39, 0)

Ich erhalte stets die Fehlermeldung "Fehler beim Kompilieren - Typen unverträglich"
Hat von euch vielleicht jemand eine Idee wie ich das hinbekomme?
Viele Grüße
Martin
Anzeige
Das dürfte der falsche Weg sein, man kann...
01.03.2011 18:38:30
Luc:-?
…das besser machen, Martin!
Außerdem, wo sitzt denn die Combobox, gibt's noch mehr mit diesem Namen etc…
Man kann eine Ereignisprozedur ggf durch Direktstart auslösen (für Testzwecke!), aber ob auch diese, musst du mal überprüfen. So, wie du das vorhast, ist das aber schlechter Pgmierstil. Denn, wenn du von woanders her kommst, stimmen evtl interne Bezüge nicht mehr. Wenn so etwas nicht bloß für Testzwecke, sondern regulär erfolgen soll, schreibt man eine normale Prozedur, die sowohl direkt als auch von der Ereignisproz aufgerufen wdn kann.
Gruß Luc :-?
Anzeige
AW: Das dürfte der falsche Weg sein, man kann...
01.03.2011 18:55:43
Martin
Hallo Luc,
vielen Dank für deine Antwort. Du hast recht, ich schreibe eine normale Prozedur, die auch vom Ereignisprozess aufgerufen wird. Das ist der einfachste und sauberste Weg.
Auch wenn es jetzt nicht mehr von Relevanz ist, interessiert mich die Fehlerursache von "Call ComboBox1_KeyUp(39, 0)" noch immer.
Viele Grüße
Martin
Anzeige
AW: Das dürfte der falsche Weg sein, man kann...
01.03.2011 19:18:33
Reinhard
Hallo Martin,
ich hab mal getestet. In VB5.0 klappt das problemlos.
In Vba fand ich keinen Dreh.
Auch nicht mit sowas
Dim a as MSForms.ReturnInteger
A=100
Call ...(a,0)
oder sowas
Range("A1")=100
set a=range("A1")
Call....
Und dieses mag der Debugger auch nicht:
Private Sub ComboBox1_KeyUp(ByVal KeyCode As Integer, ByVal Shift As Integer
Irgendwie habe ich den unbestätigten Eindruck, es hängt am Typ ReturnInteger, denn in Vb ist es nur Integer und da klappts ja.
Vielleicht *wildrumrat* steckt die Lösung schon im "Return", also eine wiedergegebener Wert, vielleicht kann man den nicht so einfach selbst setzen *mutmaß*
Frage noch offen.
Gruß
Reinhard
Anzeige
Bin ja gespannt, ob jemand den Grund findet ...
01.03.2011 19:34:01
Martin
Hallo Reinhard,
ich bin dir dankbar, dass du dich damit beschäftigt hast. Ich hatte ja auch viel herumprobiert und habe ebenfalls keine Möglichkeit gefunden. Ich denke auch, dass es an dem "ReturnInteger" liegt.
Viele Grüße
Martin
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige