Das liegt daran, dass Datenüberprüfung in Excel nicht so funktioniert. Sie müssen ein aktives X-Steuerelement verwenden. Weitere Informationen finden Sie auf der Seite zur Überprüfung der Contextures-Daten und insbesondere auf deren Beispiele zu ComboBox Data Validation und ComboBox Depend .
Aktualisieren
Wenn Sie ihre Beispiele verwenden, ersetzen Sie den TempCombo_KeyDown-Ereignishandler durch TempCombo_KeyUp. Zumindest auf meinem Excel (Excel 2003 SP2) stürzt es ab.
Weitere Einzelheiten zu dem Beispiel, auf das ich Sie verwiesen habe:
Ich bin nicht sicher, warum das Ändern von TempCombo_KeyDown in TempCombo_KeyUp funktioniert, aber es kann sich auf KeyCode beziehen. MSDN impliziert, dass KeyCode tatsächlich ein Zeiger ist und für alle praktischen Zwecke von ref übergeben wird, obwohl die Signatur ByVal angibt. Der Absturz geschieht immer in der End Sub-Zeile von TempCombo_KeyDown.
Dies ist nur eine Vermutung meinerseits, aber durch die Verarbeitung des KeyDown-Ereignisses, nachdem die neue Zelle aktiviert wurde, wenn TempCombo vorhanden ist, wird das Objekt aktiviert und kann das KeyUp-Ereignis verarbeiten. Wenn die Zielzelle TempCombo nicht aktiviert, hat das KeyUp-Ereignis keine gültige Objektreferenz, und es kommt zu einem unangenehmen Absturz.