A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
>フォームでチェックボックス名は一つでデータの分だけ表示する方法
『チェックボックス名は一つ』ということは、コントロール配列だと思いますが、VBAにはその機能はありません。
VBAでVBのコントロール配列のような機能を作ったり、コレクションを定義して一括で処理もできますが、複雑になるので質問の内容をExcel2000VBAの標準的な機能で対応してみました。
まず、ユーザーフォーム1にListBox1とTextBox1を配置します。
下記コードをユーザーフォーム1のコードウインドウに貼り付けます。
(fmMultiSelectExtended → fmMultiSelectSingle にすると、複数選択できなくなります。)
質問にある複数のチェックボックスをリストボックス内のリストとして考えています。
データが何件あってもリストボックス内で表示できるので、ある意味楽かもしれません。
こんな意味の質問でした? ご参考に。
Private Sub ListBox1_Change()
'インデックスは0から始まるので3番目は『2』
'選択されていればSelectedがTRUE
If ListBox1.Selected(2) = True Then
TextBox1.Text = "ON"
Else
TextBox1.Text = ""
End If
End Sub
Private Sub UserForm_Initialize()
Dim myList As Variant 'ListBox1のリスト定義用配列
'myListは例です
myList = Array("東京", "神田", "秋葉原", "御徒町", "上野", "鶯谷", "日暮里", "西日暮里")
With ListBox1
.List = myList 'リストボックスの内容を登録
.ListStyle = fmListStyleOption 'リストにチェックボックスを表示する
.MultiSelect = fmMultiSelectExtended '複数選択可にする
'色などの設定を変更
.BackColor = UserForm1.BackColor '背景色をフォームの色にする
.BorderColor = UserForm1.BorderColor '境界線をフォームの色にする
.BorderStyle = fmBorderStyleNone '境界線を引かない
.SpecialEffect = fmSpecialEffectFlat 'フラットにする
End With
End Sub
No.1
- 回答日時:
『3行目のチェックボックスに』というのはよくわかりませんが、
ユーザーフォームにCheckBox1とTextBox1があって、CheckBox1をクリックすると、テキストボックスの表示が変わる例です。CheckBox1_Click→CheckBox1_Change としても同じ結果が得られるでしょう。タブオーダーは余り関係ない?
Private Sub CheckBox1_Click()
If CheckBox1.Value = True Then
TextBox1 = "ON"
Else
TextBox1 = "OFF" '質問にはないが、OFFを表示する例
End If
End Sub
この回答への補足
回答ありがとうございました。
質問が少し変だったかもしれませんね。
すみません。
フォームでチェックボックス名は一つでデータの分だけ表示する
方法があると思いますがその時、チェックボックスが何行目に
レ(チェック)を入れたかたを知りたいのです。
確か、何かの関数できくと変数が返って来たと思います。
その関数を忘れてしまいました。
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ユーザーフォームを表示中にシ...
-
ExcelVBAのユーザーフォームの...
-
Excelのユーザーフォームのテキ...
-
エクセルVBAのフォームを最...
-
VBA(エクセル)のユーザー...
-
指定の動作中ユーザーフォーム...
-
フォームのテキストボックスな...
-
MSGBOXのフォント大きさ変更
-
アニメGifが止まってしまう?
-
ユーザーフォームのテキストボ...
-
Access VBA コントロールの参照...
-
コントロールの存在確認
-
エクセルのVBAでユーザーフォー...
-
ブックをCloseまたはQuitで閉じ...
-
ユーザーフォーム上に現在日時...
-
なぜエラーになるのでしょう?...
-
ユーザーフォームのラベルに時...
-
モーダルフォームとモードレス...
-
フォームに引数を渡す方法のやり方
-
クリックイベントなのに、2回ク...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ユーザーフォームを表示中にシ...
-
ExcelVBAのユーザーフォームの...
-
ユーザーフォームのテキストボ...
-
エクセルVBAのフォームを最...
-
クリックイベントなのに、2回ク...
-
VBAでユーザーフォームを再表示...
-
Form_Load と Form_Activate の...
-
Microsoft Formsの「個人情報や...
-
ACCESSのフォーム、開くんです...
-
'ユーザーフォーム右上隅の[×...
-
フォームウィンドウを最前面に...
-
Hideについて(.NET)
-
モーダルフォームとモードレス...
-
ユーザーフォーム上に現在日時...
-
MSGBOXのフォント大きさ変更
-
Excelにて、ユーザーフォームで...
-
コントロールの存在確認
-
ユーザーフォームのラベルに時...
-
VBA(エクセル)のユーザー...
-
エクセルVBA フォーム上でOnkey...
おすすめ情報