
No.5
- 回答日時:
s_husky です。
回答を外しましたので訂正!
入力は手動。
キャンセルはコマンドボタンのようです。
ならば、多少、変更が必要です。
Private Sub OptionButton1_Click()
UpdateOption 1
End Sub
Private Sub OptionButton2_Click()
UpdateOption 2
End Sub
|
|
Private Sub OptionButton7_Click()
UpdateOption 7
End Sub
Private Sub cmdCancel_Click()
UpdateOption 0
End Sub
Public Sub UpdateOption(ByVal intIndex As Integer)
On Error Resume Next
Static OldIndex(1) As Integer
Dim OptionsValues(7) As Boolean
Dim isCancel As Boolean
isCancel = intIndex = 0
intIndex = IIf(isCancel, OldIndex(1), intIndex)
If isCancel Then
OptionsValues(OldIndex(1)) = False
OptionsValues(intIndex) = True
Me.OptionButton1.Value = OptionsValues(1)
Me.OptionButton2.Value = OptionsValues(2)
Me.OptionButton3.Value = OptionsValues(3)
Me.OptionButton4.Value = OptionsValues(4)
Me.OptionButton5.Value = OptionsValues(5)
Me.OptionButton6.Value = OptionsValues(6)
Me.OptionButton7.Value = OptionsValues(7)
End If
OldIndex(1) = OldIndex(0)
OldIndex(0) = intIndex
End Sub
No.4
- 回答日時:
1、CommandButton1_Click() ----> 1 ON
2、CommandButton2_Click() ----> 3 ON
3、CommandButton3_Click() ----> 1 ON
キャンセルの場合
UpdateOption 0
というルールです。
Private Sub CommandButton1_Click()
MsgBox "1=True"
UpdateOption 1
End Sub
Private Sub CommandButton2_Click()
MsgBox "3=True"
UpdateOption 3
End Sub
Private Sub CommandButton3_Click()
MsgBox "キャンセル"
UpdateOption 0
End Sub
Public Sub UpdateOption(ByVal intIndex As Integer)
On Error Resume Next
Static OldIndex(1) As Integer
Dim OptionsValues(7) As Boolean
intIndex = IIf(intIndex = 0, OldIndex(1), intIndex)
OptionsValues(OldIndex(1)) = False
OptionsValues(intIndex) = True
Me.OptionButton1.Value = OptionsValues(1)
Me.OptionButton2.Value = OptionsValues(2)
Me.OptionButton3.Value = OptionsValues(3)
Me.OptionButton4.Value = OptionsValues(4)
Me.OptionButton5.Value = OptionsValues(5)
Me.OptionButton6.Value = OptionsValues(6)
Me.OptionButton7.Value = OptionsValues(7)
OldIndex(1) = OldIndex(0)
OldIndex(0) = intIndex
Workbooks("sheet1").Refresh
End Sub
No.3
- 回答日時:
>VBAはオプションボタンから作動させたいのです
これらのオプションボタンを押す時には条件は整っているのですよね?
単純に下記のような物をオプションボタン全てに登録したのではダメですか?
C1の値が1になると実質オプションの切り替えが利かなくなります。
Sub OpChk()
If Range("C1").Value = 1 Then
Range("A1").Value = Range("B1").Value
Else
Range("B1").Value = Range("A1").Value
End If
End Sub
さっそくありがとうございます。
> これらのオプションボタンを押す時には条件は整っているのですよね?
どのオプションボタンを押したかで、条件が整うのです。仮にC1セルの値が「TRUE」の時に3番目のオプションボタンを押されたら「キャンセル」させるといった具合です。
No.2
- 回答日時:
こんにちは。
こうすればどうでしょうか?
OptionButton のOnAction にマクロを置いて、On/Off を確保させ、他のマクロで、戻させます。
なお、なるべく、ActiveSheetではなく、明示的なシート名のほうがよいです。
Private Ops() As Long
Sub OPValueStock()
'オプションボタンの値を確保
Dim i As Integer
With ActiveSheet
ReDim Ops(1 To .OptionButtons.Count)
For i = 1 To .OptionButtons.Count
Ops(i) = .OptionButtons(i).Value
Next
End With
End Sub
Sub OPRecover()
'オプションボタンの値を戻す
Dim j As Long
Dim i As Integer
On Error GoTo EndLine
j = UBound(Ops())
With ActiveSheet
For i = 1 To .OptionButtons.Count
If Ops(i) = 1 Then
.OptionButtons(i).Value = 1
End If
Next
End With
EndLine:
End Sub
さっそくありがとうございます。
ためしに新しいシートにフォームのオプションボタンを7個配置し、それぞれにSub OPValueStockを設定しました。
オプションボタンを押したのち、Sub OPRecoverを走らせましたが、オプションボタンは元には戻りませんでした。やりかたがまずいのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) [貼り付けオプション]とは? 3 2022/04/17 08:15
- Excel(エクセル) エクセルの編集オプション セル移動 2 2022/04/02 09:19
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Visual Basic(VBA) Vba 電卓 一文字消すボタン 3 2022/05/04 13:40
- 教えて!goo アンドロイド用の教えて!gooアプリの戻るボタンを押すと、勝手に自動で教えて!gooアプリが終了して 2 2022/09/24 07:47
- JavaScript ラジオボタンによるフォームの開閉を行いたい 3 2022/03/31 21:30
- Visual Basic(VBA) ExcelのVBAを使い、複数シートの同一箇所を、同一条件にて一括でソルバーを回す方法について 1 2022/04/23 11:49
- Excel(エクセル) Powershell エクセル検索 完全一致の方法 1 2022/06/05 20:19
- Windows 10 WINDOWS11 で WINDOWS UPDATE 詳細オプション その他の製品オンにできない 1 2022/06/10 09:34
- Windows 10 Windows10でセーフモードが出来ません。 2 2022/04/22 23:37
このQ&Aを見た人はこんなQ&Aも見ています
-
エクセルVBAでOptionButtonのオンオフ取得
Excel(エクセル)
-
Excel ラジオボタンのリセットを作りたい
Excel(エクセル)
-
エクセルVBA オプションボタンのチェックを外したい
Excel(エクセル)
-
-
4
エクセルVBAでオプションボタンを無効にする方法
Excel(エクセル)
-
5
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
-
6
ラジオボタンのオンとオフ
Excel(エクセル)
-
7
UserForm1.Showでエラーになります。
工学
-
8
ラジオボタンのリセット方法
JavaScript
-
9
エクセルVBAマクロのオプションボタンについて
Excel(エクセル)
-
10
VBA ユーザーフォームのChangeイベントを停止したい
Access(アクセス)
-
11
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
12
【エクセル】オプションボタンにセルの値を反映させるには
Visual Basic(VBA)
-
13
EXCEL2003 オプションボタン複数選択/解除
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
皆さんが思うヤリスにつけるべ...
-
Google Mapで、都市高速は使わ...
-
オプションボタンの三択(アク...
-
エクセルVBA/フォームのオプシ...
-
ドリフト
-
macのvimでクリップボードとバ...
-
エクセルVBAマクロのオプシ...
-
Excelでオプションが開けない
-
フォルダオプションのファイル...
-
日経225オプションの過去データ...
-
「名前を付けて保存」の保存先...
-
rsyslogの出力テンプレートにつ...
-
信用取引の、現引きのできる時間帯
-
楽天証券
-
株取引で、決済のスピードの速...
-
薄い板の板寄せのルールについて
-
株の売買はまだ、不慣れなんで...
-
大引けでの決済方法
-
ヒット数の多い人気売買掲示板...
-
寄成と成行の違いについて。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Google Mapで、都市高速は使わ...
-
Excelでオプションが開けない
-
Access2007で複数のチェックボ...
-
「Excelのオプション」の「ユー...
-
オプションボタンの三択(アク...
-
画像やオートシェイプの単位が...
-
エクセルVBA/フォームのオプシ...
-
エクセルVBAマクロのオプシ...
-
日経225オプションの過去データ...
-
投資初心者です。ガバードコー...
-
リブレオフィスの予測表示の停...
-
オプション取引がゼロサムゲー...
-
[貼り付けオプション]とは?
-
[Google カレンダー] 定期的な...
-
[オートフィル オプション]アイ...
-
AcsessでオプショングループをN...
-
ガンマロングの意味
-
OfficeXPへのバージョンアップ
-
日経225オプションを売り建てで...
-
彼女とセフレの違いってなんで...
おすすめ情報