2016-10-28 2 views
0

저는 VBA를 처음 사용하기 때문에 솔루션이 매우 간단 할 것입니다.옵션 버튼의 VBA 반환 값

옵션 버튼 (Matrix)이 있고 버튼이 선택되어 있으면 전역 변수 rdb에서 Cell (5,2) 값을 가져오고 싶습니다.

Public rdb as Integer 
    Public Sub Matrix_Change() 
    If Matrix.Value = True Then rdb = Cells(5, 2).Value 
    End Sub 

가 나는 두 개의 라디오 버튼 사이를 전환 할 경우이에만 작동 것으로 나타났습니다 : 이 내 시도이다. 아마도 "변경"을 선택했기 때문일 수 있습니다. 옵션 버튼이 선택되었는지 만 확인하는 하위를 만들려면 어떻게해야합니까? 단순히 "_Change"부분을 제거하면 오류가 발생합니다. 또한 전역 변수를 사용하는 대신 Sub에서 값을 반환 할 수 있습니까?

도움을 많이 받으실 수 있습니다!

+0

자세한 내용은 당신은 코드에서 도달 할 것으로 기대합니까? – user3598756

+0

전혀 신경 쓰지 않고 문제를 해결했습니다. 감사! – mri

+0

의견에 감사드립니다. 'MouseUp()'이벤트를 사용하여 BTW는 나에게 아주 이상하게 보인다. 관심이 있으시면 조금 더 자세하게 설명해 주시면 다른 해결책을 제시해 드리겠습니다. – user3598756

답변

1

(첫 번째 질문) 대신 변경 이벤트

(두 번째 질문) 하위이

당신은 간단하게 대체 할 수있는 값을 반환 할 수없는의 이는 MouseUp 이벤트를 선택 해주세요 코드 :

Public rdb As Integer 

Public Sub Matrix__MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) 
    If Matrix.Value = True Then rdb = Cells(5, 2).Value 
End Sub