
No.6ベストアンサー
- 回答日時:
> ・ワークシート上のもの(ツールバー[コントロール ツールボックス]から)
> になります。
#3-4 は Userform の CheckBox に対する回答です。[コントロール ツールボックス]
だったのですね。
今回は For でループさせてませんが、必要なら今までの回答を応用して下さい。
i = 1
' Cstr 関数は数値を文字列に変換する
sCtrlName = "CheckBox" & CStr(i)
' シートモジュールでの Me はワークシート自信を指す
If Me.OLEObjects(sCtrlName).Object.Value = True Then
MsgBox sCtrlName & "の状態は True です"
Else
MsgBox sCtrlName & "の状態は False です"
End If
やってみてよく分からなければ、補足して下さい。
やりたいことができるようになりました。
>' シートモジュールでの Me はワークシート自信を指す
このヒントのおかげで、標準モジュールに移動したときも動作させることができました。
非常に助かりました。
ありがとうございました。
No.5
- 回答日時:
ごめんなさい。
最初に確認しておけば良かったのですが....> エクセル・VBA CheckBoxのオブジェクト名に変数を使うことは可能でしょうか?
この CheckBox とは
・Userform 上のもの
・ワークシート上のもの(ツールバー[フォーム]から)
--->Shape
・ワークシート上のもの(ツールバー[コントロール ツールボックス]から)
--->OLEObject
のどれですか?
この回答への補足
・ワークシート上のもの(ツールバー[コントロール ツールボックス]から)
になります。
知識不足ゆえ、他の2つは知りませんでした。
こちらこそ申し訳ありません。
お手数おかけします。
No.4
- 回答日時:
ここでの Me は Userform 自身のことです。
省略できますけどね。> エラーになってしまいました。
そのまま貼り付けてもダメですよ。CheckBox コントロールにはプロパティー
ウインドウで「オブジェクト名」=「コントロール名」が付いています。
それに合わせないと。
Controls([コントロール名文字列]) でコントロールを指定できるのです。
調べたい CheckBox のコントロール名が仮に
CheckBox1 ~ CheckBox6
だとしたら、For ループで数字の部分だけを補完してコントロール名の文字列
を生成します。
> Me.Controls("CheckBox" & Cstr(i)).Value '<-- ココ
i = 1 のとき、 "CheckBox" & Cstr(i) で文字列が連結されて、CheckBox1
という文字列になるのはわかりますね?
ここで生成したコントロール名がフォーム上で見つからないと、
>「コンパイルエラー:メソッドまたはデータメンバーが見つかりません。」
のエラーになります。
この回答への補足
編集中のCheckBoxが、プロパティーウインドウで
「(オブジェクト名)」=「CheckBox1」~「CheckBox6」
となっていることを確認しました。
>i = 1 のとき、 "CheckBox" & Cstr(i) で文字列が連結されて
>CheckBox1という文字列になる
理解できました。
しかし、依然
「コンパイルエラー:メソッドまたはデータメンバーが見つかりません。」
となってしまいます。
また、「Me.」を省略すると
「コンパイルエラー:SubまたはFunctionが定義されていません。」
となってしまいました。
もしよろしければ回答お願いいたします。
No.3
- 回答日時:
こんばんは。
For i = 1 To 6
If Me.Controls("CheckBox" & Cstr(i)).Value = True Then
~
End If
Next
でできない? でも6個ぐらいなら次の書き方の方がわかり易いとおもうけど。
Select Case True
Case CheckBox1.Value
' CheckBox1 が True の時の処理
Case CheckBox2.Value
' CheckBox2 が True の時の処理
... 後は省略
End Select
この回答への補足
回答ありがとうございます。
早速試してみましたが、
「コンパイルエラー:
メソッドまたはデータメンバーが見つかりません。」
とエラーになってしまいました。
「Me.Controls().」は初めて知りました。
よくわからないので、調べてみます。
No.2
- 回答日時:
この回答への補足
回答ありがとうございます。
参考ページの内容が知らないことばかりで、まだ理解できてないです。
「Controlsコレクション」というのが、キーワードとなりそうなので、調べてみます。
No.1
- 回答日時:
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
Excel VBAでCheckboxの名前を変数にとって値を調べたい
Visual Basic(VBA)
-
エクセル VBA CheckBox名に変数を使用
Excel(エクセル)
-
【VBA】シート上の複数のチェックボックスのうちどれか一つでも変更した場合のイベント
Visual Basic(VBA)
-
-
4
EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい
Visual Basic(VBA)
-
5
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
6
UserForm1.Showでエラーになります。
工学
-
7
VBAのエラーについて、”実行時エラー424オブジェクトが必要です”
Excel(エクセル)
-
8
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
-
9
VBAでループ内で使う変数名を可変にできないか。
Visual Basic(VBA)
-
10
実行時エラー 438になった時の対処法を教えて下さい。
Visual Basic(VBA)
-
11
CheckBoxの配列化
Access(アクセス)
-
12
ExcelVBAのユーザーフォームの中に線を引きたい
Visual Basic(VBA)
-
13
Excel-VBA>コントロールをグレイアウトするには?
Excel(エクセル)
-
14
エクセルユーザーフォームのチェックボックスのCaptionにセルの値を入れたい。
Excel(エクセル)
-
15
Excel2007 でのチェックボックスの名称
Visual Basic(VBA)
-
16
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
17
(VBA)チェックボックスのclickのイベントが、プログラムからの操作でも反応してしまいます。
Visual Basic(VBA)
-
18
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
19
テキストボックスの番号を使ったFor~Next文について
Visual Basic(VBA)
-
20
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
チェックボックスをオンにした...
-
カメラスクロールするのを動画...
-
本当に強い人物とは?
-
vb.net 2008についてです。 テ...
-
エクセルVBAでオプションボタン...
-
VBA ユーザーフォームの Keypre...
-
MSComm コントロールのエラーに...
-
エクセル コントロールツール...
-
VB web browser でのリンク先移動
-
VB6.0 実行時エラー 374について
-
VBAでタブのページを削除す...
-
ListViewのチェックボックスに...
-
W-ZERO3 と NetFront...
-
OCXって何ですか?
-
チェックボックスの消去について
-
ラベルコントロ-ルを貼りつけ...
-
コンボボックスの文字によるif...
-
WordのVBAにてコントロール名に...
-
ActiveXコントロールで何ができ...
-
VC++かC++Builderか?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセル・VBA CheckBoxのオブ...
-
EXCELでactivexコントロールを...
-
エクセルVBAでオプションボタン...
-
チェックボックスをオンにした...
-
カメラスクロールするのを動画...
-
'ckbl' コントロールは作成され...
-
ExcelVBAでListViewが使用できない
-
Groupboxの配下のコントロール...
-
ユーザーフォームで動的(Me.Con...
-
VBA ユーザーフォームの Keypre...
-
vb.netで画面のコントロールId...
-
全てのオブジェクトのプロパテ...
-
間違えて配置してしまったコン...
-
chr関数の呼び出しで「プロ...
-
VBAのフォームでTextBoxがいっ...
-
OCXって何ですか?
-
アクセス特有の書き方?
-
エクセル コントロールツール...
-
コントロールを移動できない
-
Labelコントロールの(左右)余...
おすすめ情報