2014-11-18 1 views
0

som 전문 지식 도움이 필요합니다!VBA Excel에서 이미 선택된 항목을 클릭 할 때 클릭 이벤트가 발생하지 않음 ActiveX Combobox

나는 VBA 또는 Excel에 익숙하지 않지만이 이상한 일로 인해 길을 찾을 수 없습니다. 나는 오랫동안 인터넷 검색을 해왔다. 그래서 나는 여기서 물어볼 줄 알았다.

배경 : 나는 활발한 X combobox가 시작시 액세스 데이터베이스의 항목으로 채워지면서 VBA가 많은 Excel 시트를 가지고 있습니다. 사용자는 데이터베이스에서 데이터로 일부 텍스트 상자를 자동으로 채우는 항목을 선택할 수 있습니다. 그런 다음 사용자는 데이터베이스에서로드 된 텍스트 상자 값을 편집 할 수 있으며, 계산 된 결과가 차례로 조정됩니다.

이제 질문 : 사용자가 매개 변수를 조정했지만 기본값으로 다시 돌아가려면 (즉, 데이터베이스 값을 다시로드하려는 경우) 동일한 콤보 상자 항목을 다시 선택해도 내가 발견 한 이벤트가 발생하지 않습니다. 이미 선택되었습니다. 클릭 이벤트가 발생해야한다고 생각합니다. 그러나 아니요. 변경 이벤트는 분명히 시작되지 않습니다 ...

이 문제를 해결할 수있는 방법은 없습니까? 내가 생각하지 못했던 모든 사건?

참고 : 현재 해결 방법은 사용자가 다른 항목을 선택한 다음 다시 원하는 항목으로 다시 이동하거나 다시 설정 단추를 추가해야한다는 것입니다. 이러한 해결 방법 중 하나가 마음에 들지 않으므로 수행 할 수있는 작업이 있다면 ...

감사!

+0

예, 다른 해결 방법은 없습니다. 이벤트가 암시 하듯이, 콤보 박스 값 변경에 대해서만 트리거가 발생합니다. –

+0

'MouseUp' 이벤트를 사용해보십시오. – Rory

+0

@Rory가 제안한 것을 시도해보십시오. 실패하면 선택한 항목을 가져 와서 다른 하위 항목에 인수로 전달하는 명령 단추를 만듭니다. –

답변

0

나는 당신이 며칠 동안 말하고있는 것과 똑같은 문제를 해결하고 이상적인 해결책을 가지고 있을지도 모릅니다.

아이디어는 동일한 옵션을 다시 선택할 수 있도록 'ComboBox1.Value'를 기본값으로 재설정하는 것입니다. 이렇게하면 임의의 항목을 클릭 할 필요가 없으며 링크 된 셀을 다시 채우고 별도의 재설정 버튼이 필요하지 않기 때문에 이전 항목을 다시 선택할 수 있습니다.

Code: 
Sub cbReset() 
'Reset ComboBox1 Values 
     Sheets("Sheet1").ComboBox1.Value = "Select Option..." <-- 'Default value of Combo Box 
     Sheets("Sheet1").ComboBox2.Value = "Select Option..." <-- 'Default value of Combo Box 
     Sheets("Sheet2").ComboBox1.Value = "Select Option..." <-- 'Default value of Combo Box 
End Sub 

적합하다고 생각 되더라도 코드를 조정할 수 있습니다. 같은 워크 시트에서 호출하거나 입력 할 수 있습니다. 이 코드는 다른 모든 것이 실행 된 후 명령문의 끝 부분에 있습니다. 필요가있을 경우를 대비하여 여러 장 또는 콤보 상자에 사용할 여분의 줄을 입력했습니다.

또한 시트 이름이나 콤보 상자 이름을 변경합니다.

도움이 너무 늦지 않았 으면 좋겠다.

건배!

+0

고맙습니다. @rdmXman :) 이것은 확실히 작동하는 해결 방법입니다. 그것은 완벽하지는 않지만 VBA를 얻는 이상적인 것일 수 있습니다.사용자가 선택한 것을 볼 수 있어야하기 때문에 완벽하지 않습니다 (상자를 다시 설정하면 사라집니다). 그러나이 수정은 마지막으로 선택한 값을 표시하는 각 콤보 상자별로 레이블을 추가 한 경우에도 작동합니다. 추가 레이블이 허용되는 경우 문제를 해결합니다 :) 답장을 보내 주셔서 감사합니다. :) – Tjomsen

관련 문제