[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『ユーザーフォーム中の複数のチェックボックスを…』(めっしぃ)
はじめまして VBA初心者のめっしぃと申します。いろいろと調べたのですが、どうしても分からないのでご教授下さい。
ユーザーフォームの中に8個チェックボックス(オブジェクト名;CheckBox1〜8)、(Caption:ア〜ク)を配置しました。
そして、以下の2つの事をしたいのですが、うまく動作しません。
1.新規入力ボタンを押すと、8個のチェックボックスをすべてオフにしたい
Private Sub New_Click() ’新規入力ボタンを押すと With Me .Checkbox1.Value = False .Checkbox2.Value = False : .Checkbox8.Value = False End With End Sub
と書くのは、チェックボックスが増えたときに大変なので、変数を用いて…
Private Sub New_Click() ’新規入力ボタンを押すと With Me Dim i As Integer For i = 1 To 8 "CheckBox" & i.Value = False Next i End With End Sub
と書いても、うまく動きませんでした。解決方法をご教授下さい。
2.CheckBox1〜8のうち複数をチェックし、登録ボタンを押すと、チェックされているすべてのチェックボックスのCaptionをG3セルに入力したいと思っています。
つまり、CheckBox1と3と8にチェックをした場合、G3セルに「ア,ウ,ク」と表示させたいのです。
諸先輩方からのアドバイスをお願い致します。
.Controls("CheckBox" & i).Value = False に変更してください。 (seiya)
早速、ご教授していただきありがとうございました。
問題1は無事に解決しました。さて、問題2をどのように解決しようか考え中です。
(めっしぃ)
For i = 1 To 8 With Me.Controls("CheckBox" & i) If .Value = True Then msg = msg & .Caption & "," End With Next If Len(msg) Then Range("G3").Value = Left$(msg,Len(msg)-1) とかですか? (seiya)
またまたご教授していただき、ありがとうございます。
試したところ、msgのところが反転し「コパイルエラー 変数が定義されていません」と表示されてしまいました。
少し勉強をし、1つ(CheckBox1)だけならG3セルに「ア」を入力させることが出来ましたが、CheckBox1と3と8をチェックして、「ア,ウ,ク」と複数入力することが出来ません。
Private Sub Touroku_Click() Dim binCheck As Boolean 'チェックボックスの選択状態 binCheck = Controls("Checkbox1").Value 'チェックボックスが選択されたか選択解除されたか取得
'ワークシートに転記する With Me If bincheck = true then Range(G3).Value = .Checkbox1.Caption Else Range(G3).Value ="" End If End With End Sub
なにかよい解決方法はあるでしょうか?(めっしぃ)
Dim Statement で 変数 msg を宣言してください。 (seiya)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.