Hallo VBA-Freaks: GetAsyncKeyState usw.

Bild

Betrifft: Hallo VBA-Freaks: GetAsyncKeyState usw. von: Thomas
Geschrieben am: 14.02.2005 21:03:23

Hallo VBA-Freaks,

mir wurde neulich folgende Datei zugesendet:
https://www.herber.de/bbs/user/18077.xls

Hierzu bewegen mich im Wesentlichen 2 Fragen:

1. Wo in dem Makro werden die 3 Figuren, die man da munter in der Gegend herumschieben kann, definiert?

2. Was hat es mit der ominösen Zahl "-32767" auf sich?

Vielen Dank im Voraus

Thomas

Bild


Betrifft: AW: Hallo VBA-Freaks: GetAsyncKeyState usw. von: Thomas
Geschrieben am: 14.02.2005 21:14:02

Sorry, hab ich wohl zweimal "Absenden" gedrückt.

Die angesprochende Datei stammt übrigens von Josef Ehrensberger.
Vielen Dank nochmal Sepp. Habe an der Datei schon einiges gelernt. Aber eben leider noch nicht alles verstanden...

Thomas


Bild


Betrifft: AW: Hallo VBA-Freaks: GetAsyncKeyState usw. von: Josef Ehrensberger
Geschrieben am: 14.02.2005 23:59:02

Hallo Thomas!

Zu1.)
Die Shapes werden mit dieser Codezeile zugewiesen
Set shp = ActiveSheet.Shapes(Application.Caller)

Das bedeutet, das immer die Form zugewiesen wird, die das Makro startet.

Zu2.)
Die Zahl "-32767" ist gar nicht ominös, das ist der Rückgabewert der
Function "GetAsyncKeyState" , welch eben ermittelt, ob eine Taste
gedrückt wurde oder nicht.


Gruß Sepp

P.S.: Rückmeldung nicht vergessen!


Bild


Betrifft: AW: Hallo VBA-Freaks: GetAsyncKeyState usw. von: Thomas
Geschrieben am: 15.02.2005 10:24:34

Hallo Sepp,

vielen Dank für deine Antwort. Doch es bleiben noch immer Fragen offen:

zu 1)
Das mit der Zuweisung über "Application.Caller" habe ich verstanden. Aber wo in dem Makro werden die Shapes DEFINIERT? Was muss ich z.B. tun, um ein grünes Dreieck über den Bildschirm zu jagen?

zu 2)
Unter www.vb-fun.de lese ich:
"Mit der Funktion GetAsyncKeyState wird festgestellt, ob gerade eine Taste gedrückt ist, oder ob sie seit dem letzten Aufruf von GetAsyncKeyState gedrückt wurde."

Und weiter unten:
"Rückgabewerte:
Das obere Bit ist gleich 1, wenn die Taste gerade gedrückt ist, andernfalls 0. Das untere Bit ist 1, wenn die Taste seit dem letzten Aufruf von GetAsyncKeyState gedrückt wurde, andernfalls 0."

Das mit dem oberen und unteren Bit verstehe ich nicht.
Vielleicht sollte ich darüber auch gar nicht so sehr nachdenken.
Mit der "-32767" funktioniert es ja hervorragend.

Viele Grüße
Thomas




Bild


Betrifft: AW: Hallo VBA-Freaks: GetAsyncKeyState usw. von: Josef Ehrensberger
Geschrieben am: 15.02.2005 10:38:52

Hallo Thomas!

Zeichne ein grünes Dreieck auf deiner Tabelle, rechtsklick "Makro zuweisen"
und wähle das Makro aus.
Wenn du nun auf dein Dreieck klickst, dann kannst du es mit den Pfeiltasten bewegen!

Gruß Sepp

P.S.: Rückmeldung nicht vergessen!


Bild


Betrifft: AW: Hallo VBA-Freaks: GetAsyncKeyState usw. von: Thomas
Geschrieben am: 16.02.2005 18:15:21

Hallo Sepp,

manche Antworten sind so einfach...
Vielen Dank.

Thomas


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Zellwert bei Dubletten-Vorkommen auf Null stellen"