[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『オプションボタンとテキストボックス』(砂糖)
初歩的なことかもしれませんが、考えれば考えるほどこんがらがってしまったので、教えていただけると助かります。
ユーザーフォーム内に
オプションボタンが全部で8個あります。
オプションボタン1〜4はグループ1、オプションボタン5〜8はグループ2です。
各オプションボタンには各々名前がついていますが、
オプションボタン8は任意の文字を入力したいと思っています。
例)
オプションボタン5 請求書
オプションボタン6 見積書
オプションボタン7 報告書
オプションボタン8 任意の文字
文字列はテキストボックスで入力すると思うのですが、これをどう連動させればいいのか、考え方がわからず行き詰っております。
テキストボックスに入力された文字を反映するのは、オプションボタン8をクリックした時だけ、という風にするのか(それ以外は文字入力されていても無視)
もっと初歩的な何かを理解していないのかがわからず……
また、オプションボタンを押した後の動作はすべて「コマンドボタン(決定ボタン)」を使用してそこにコードを書いています。
このオプションボタン8はオプションボタン8をクリックしたときに動作したほうがいいのかもわからなくなってしまい……教えていただけますでしょうか。
< 使用 Excel:Excel2010、使用 OS:Windows8 >
アンケートの「その他」欄のように考えておりました。
ですが、確かにちょっとやりたいことが迷走しているかもしれません…。
If Not TextBox1.Text = "" Then
OptionButton8.Value = True
End If
これをコマンドボタンに記入すると、テキストボックスに文字がある際、オプションボタン8が選択されました。
が、実際にはコマンドボタンではその次の段階の処理(シートに書き出しなど)を行っているため、ここでオプションボタン8が選択されようが、されまいが関係ない気がします…。
オプションボタンにこだわらず、テキストボックスで処理したいと思います。
「テキストボックスに入力されたら」というのが自分の中での解決のヒントになりました。ありがとうございます!
(砂糖) 2018/06/15(金) 11:55
Private Sub CommandButton1_Click() Dim i As Long Dim cw1 As String Dim cw2 As String
For i = 0 To Controls.Count - 1 If TypeName(Me.Controls(i)) = "OptionButton" Then If Me.Controls(i).Value = True Then If Me.Controls(i).Parent.Caption = "グループ1" Then cw1 = Me.Controls(i).Caption Else cw2 = Me.Controls(i).Caption If cw2 = "その他" And TextBox1.Text <> "" Then cw2 = TextBox1.Text End If End If End If End If Next i
MsgBox "選択1:" & cw1 & vbLf & "選択2:" & cw2, vbInformation End Sub (???) 2018/06/15(金) 13:06
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.