OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
締切り
済み

エクセル2000のタブオーダについて

  • すぐに回答を!
  • 質問No.188736
  • 閲覧数49
  • ありがとう数1
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 5% (1/19)

いつもすみません フォームでタブオーダを使用した際に
チェックボックスとテキストボックスを設定した場合
3行目のチェックボックスにレを入力した際、テキストボックスに
ONと表示されたいのですが、どうすればできるのでしょうか?
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

回答 (全2件)

  • 回答No.1
レベル13

ベストアンサー率 68% (791/1163)

『3行目のチェックボックスに』というのはよくわかりませんが、 ユーザーフォームにCheckBox1とTextBox1があって、CheckBox1をクリックすると、テキストボックスの表示が変わる例です。CheckBox1_Click→CheckBox1_Change としても同じ結果が得られるでしょう。タブオーダーは余り関係ない? Private Sub CheckBox1_Click()   I ...続きを読む
『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
補足コメント
syusama

お礼率 5% (1/19)

回答ありがとうございました。
質問が少し変だったかもしれませんね。
すみません。
フォームでチェックボックス名は一つでデータの分だけ表示する
方法があると思いますがその時、チェックボックスが何行目に
レ(チェック)を入れたかたを知りたいのです。
確か、何かの関数できくと変数が返って来たと思います。
その関数を忘れてしまいました。
よろしくお願いします。
投稿日時 - 2001-12-21 23:38:37

  • 回答No.2
レベル13

ベストアンサー率 68% (791/1163)

>フォームでチェックボックス名は一つでデータの分だけ表示する方法 『チェックボックス名は一つ』ということは、コントロール配列だと思いますが、VBAにはその機能はありません。 VBAでVBのコントロール配列のような機能を作ったり、コレクションを定義して一括で処理もできますが、複雑になるので質問の内容をExcel2000VBAの標準的な機能で対応してみました。 まず、ユーザーフォーム1にListB ...続きを読む
>フォームでチェックボックス名は一つでデータの分だけ表示する方法
『チェックボックス名は一つ』ということは、コントロール配列だと思いますが、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
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ