Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
612to616
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
612to616
612to616
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
ComboBox Value ändern (über SendAMessage)
22.05.2005 19:27:42
Michael
Moin, Moin an die Userform -Profis!
Ich hätte da gerne mal ein Problem:
Wie kann ich in einer Userform die Werte von Comboboxen ändern ohne deren "Click" bzw. "Change" Ereignisse auszulösen (diese Ereignisse benötige ich nämlich für andere Zwecke)?
Ich habe neulich einen Beitrag aufgeschnappt, dass sowas über die VBA-Function "SendAMessage" möglich sein soll. Das soll aber nicht ganz ohne sein, da die Funktion wHnd im Excel-VBA so nicht verfügbar ist.
Hat einer von Euch Profis eine Idee die mich weiterbringt?!
Vielen Dank im Voraus für das strapazieren Eurer grauen Zellen!
Michael Kruse
PS: Nicht böse sein wenn ich nicht gleich antworte, bin nämlich bis zum nächsten Freitag ohne Internetzugang.

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ComboBox Value ändern (über SendAMessage)
22.05.2005 19:33:40
Hajo_Zi
Hallo Michael,
Listbox1.Listindex=5
Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Home SP2 und Excel Version 2003 SP1.



"Wer Rechtschreibfehler findet, darf sie behalten!"
Dies gilt auch für Bert.
Anzeige
AW: ComboBox Value ändern (über SendAMessage)
22.05.2005 19:37:38
Hajo_Zi
Hallo Michael,
"Zitat FAQ Herber: Stelle bitte keine Fragen im Rundumschlag. Es kommt vor, dass Fragen im Spotlight-Forum, in der
Excel-NewsGroup, an mich persönlich und gleichzeit hier ins Forum gepostet werden. Damit steigen zwar die
Chancen des Fragestellers, eine Antwort zu bekommen, andererseites beschäftigt er ganze Völkerschaften mit
seinem Problem, was die Chance anderer Fragestellern auf eine Antwort wiederum verringert. Dieses
Verhalten ist nicht fair und wird nicht toleriert"
Gruß Hajo
Das Forum lebt auch von den Rückmeldungen.

"Wer Rechtschreibfehler findet, darf sie behalten!"
Dies gilt auch für Bert.
Anzeige
AW: ComboBox Value ändern (über SendAMessage)
22.05.2005 20:11:30
Michael
Das tut mir schrecklich leid! Ich wusste nicht, dass es "nicht fair" ist eine Frage in 2 (in Worten: Zwei) Foren gleichzeitig einzustellen. Werde ich künftig vermeiden!
Danke auch für den Lösungsversuch: Aber ich möchte keinen Listindex bearbeiten (übrigens wird auch dadurch ein "Change-Ereignis) ausgelöst!
MfG
Michael
AW: ComboBox Value ändern (über SendAMessage)
22.05.2005 20:14:47
Hajo_Zi
Hallo Michael,
das man aber abschalten kann bzw. den Code umgehen kann.
Gruß Hajo
Das Forum lebt auch von den Rückmeldungen.

"Wer Rechtschreibfehler findet, darf sie behalten!"
Dies gilt auch für Bert.
Anzeige
AW: ComboBox Value ändern (über SendAMessage)
22.05.2005 20:33:20
Michael
Und genau um dieses "Umgehen" geht es mir!
Ich habe auch eine Funktion dazu gefunden, dabei handelt es sich jedoch um eine reine VBA-Anwendung - sie funktioniert in Excel nicht, da vom Excel-VBA das Windows-Handle "hWnd" nicht erkannt wird. Ich bin zwar relativ VBA-Fit was Excel betrifft, aber bei den reinen Windowsfunktionen hört es abrupt auf.
Deshalb suche ich jemanden der soetwas in Excel umsetzen kann.
Gruß Michael
PS: So sieht die reine VBA-Variante aus:
Private Declare

Function SendMessageLong Lib "user32" _
Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg _
As Long, ByVal wParam As Long, lParam As Long) As Long
Public 

Sub SetListIndex(Ctl As Control, ByVal Index As Long)
Const CB_SETCURSEL = &H14E
Const LB_SETCURSEL = &H186
If TypeOf Ctl Is ComboBox Then
SendMessageLong Ctl.hwnd, CB_SETCURSEL, Index, 0
ElseIf TypeOf Ctl Is ListBox Then
SendMessageLong Ctl.hwnd, LB_SETCURSEL, Index, 0
End If
End Sub

Anzeige
AW: ComboBox Value ändern (über SendAMessage)
22.05.2005 21:13:42
Ramses
Hallo
Keine Lösung, aber..
"..übrigens wird auch dadurch ein "Change-Ereignis..."
Auch mit SendMessage wird der Inhalt, bzw. die Referenzierung, des Combobox-Inhaltes geändert.
Das hat also ebenfalls ein Change-Ereignis zur Folge.
Gruss Rainer

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige