2016-10-28 28 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 

私は私は2つのラジオボタンを切り替える場合にのみ動作することに気づきました。これはおそらく私が「変更」を選択したためです。オプションボタンがチェックされているかどうかだけを確認するサブを作成するにはどうしたらいいですか?単に "_Change"部分を削除するとエラーになります。また、グローバル変数を使用する代わりにSubから値を返すことも可能ですか?

大変助かりました!

+0

詳しくは、あなたはコードから手を差し伸べると期待していますか? – user3598756

+0

心配しないで、私は問題を解決しました。ありがとう! – mri

+0

フィードバックありがとうございます。 'MouseUp()'イベントを使用してBTWは私にはかなり変わったようです。興味のある方はもう少し詳細を教えてください。代替の解決法をお手伝いします。 – user3598756

答えて

1

(最初の質問)代わり変更イベント

(2番目の質問)サブは

あなたは簡単に交換することができます値を返すことができないのの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