いつもすみません フォームでタブオーダを使用した際に
チェックボックスとテキストボックスを設定した場合
3行目のチェックボックスにレを入力した際、テキストボックスに
ONと表示されたいのですが、どうすればできるのでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (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
    • good
    • 0

『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

この回答への補足

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

補足日時:2001/12/21 23:38
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Qメガネの三城のオーダー眼鏡

私は顔の横幅が狭いので、小さなサイズのメガネを使用しています。
レンズ幅が46、ブリッジ16のものと、レンズ幅が48、ブリッジ15.5の二本を持っています。
フィットするのは46の方で、48の方は少し大きいですが許容範囲です。
両方とも超弾性のフレームで、ゆがみの少ない薄いレンズを入れています。
最近は大きめのメガネが流行らしく、あちこちの眼鏡店に行っても49以下のものはなかなか見つかりません。

先週、メガネの三城でとても掛け心地が楽なフレームを見つけました。
現在使用している超弾性のフレームより、さらに圧迫感が少なく一目惚れしました。
フレームの店頭価格は約4万円で、両面非球面のレンズを入れて7万円台との説明でした。
ただ残念なことにサイズが51と大きく、レンズの目頭のほうに瞳が寄ってしまいます。
そんな状態ではきちんとした視力が得られないような気がします。
近視も乱視も強く、オシャレ度よりも実用性重視です。

先程、メガネの三城のサイトをのぞいたら、オーダーで眼鏡を作れるとの記載がありました。
私が一目惚れしたフレームを希望サイズで作ってもらえるようなシステムなのでしょうか?
店頭にあるのと同じ掛け心地のものが出来上がるのでしょうか?
もしそうならお願いしたい気はしますが、かなり高価なのでしょうか?

メガネの三城のオーダーシステムについてご存知の方がいらっしゃったら、ぜひ教えてください。

私は顔の横幅が狭いので、小さなサイズのメガネを使用しています。
レンズ幅が46、ブリッジ16のものと、レンズ幅が48、ブリッジ15.5の二本を持っています。
フィットするのは46の方で、48の方は少し大きいですが許容範囲です。
両方とも超弾性のフレームで、ゆがみの少ない薄いレンズを入れています。
最近は大きめのメガネが流行らしく、あちこちの眼鏡店に行っても49以下のものはなかなか見つかりません。

先週、メガネの三城でとても掛け心地が楽なフレームを見つけました。
現在使用...続きを読む

Aベストアンサー

こんばんは

といいますか
その51のサイズの小さいサイズがメーカーにないか
聞いてみましたか?
だいたい取り寄せで有ることが多いです

QExcel VBA フォームのテキストボックス入力について

半角数字のみしか入力されないようにしたいのですがどのようにすればよろしいですか?
のちのち計算に使うので、文字が入るとエラーになってしまって困っています
よろしくお願いします

Aベストアンサー

テキストボックスのイベントで
数字以外の入力はエラーにすればよい。

Private Sub TextBox1_Change()
If Len(TextBox1.Value) > 0 Then
If IsNumeric(TextBox1.Value) Then
Exit Sub
Else
TextBox1.Value = "" '強制的に消す
MsgBox "数字のみの入力をお願いします。" '注意のメッセージを表示する。
End If

End If
End Sub

Qオシャレな眼鏡屋さんご存知ないですか?

使っていた眼鏡がこわれてしまったので早急に新しく眼鏡を作らないといけません。

大手眼鏡店を数店まわってみたのですが、
あまりピンとくるような眼鏡とは出会えませんでした

センスのいい眼鏡屋さんをご存知な方ぜひ教えていただけないでしょうか。

神奈川県または東京都内のお店を知っているかたぜひ教えてください。よろしくお願いします。

Aベストアンサー

実はメガネブランドはいろいろあります。

一つが#2,3の方が挙げられているような(999.9は除く)スリープライスといって、数千円でレンズも含めて作れる物。

ライセンスブランドといってシャネルやグッチとライセンスを結んで、作られる物

ハウスブランドといって正式な定義ではないですが、実質的にメガネ専門ブランドがあります。デザイン性、クオリティ共に高いです。

センスのいいとなるとハウスブランドのメガネを集めている眼鏡屋さんが最適です。

#3の方が挙げられている999.9(フォーナインズと読む)もその一つですね。これは999.9というメーカーの直営店です。
原宿、渋谷、青山のゾーンにハウスブランドをあつめたお店が多いです。

まずこの辺が偏り無くおすすめ。
オプティシャンロイド
http://www.loyd.co.jp/
グローブスペックス
http://www.globespecs.co.jp/

見たこと無いようなちょっと変わったメガネをおいてます。
リネットジュラ
http://www.jurajura.com/
カムロ
http://www.kamuro-net.co.jp/

ちょっとべったり接客なので好き嫌いわかれますが、品揃えが良いのは
クレイドル
http://www.cradle.ne.jp/

実はメガネブランドはいろいろあります。

一つが#2,3の方が挙げられているような(999.9は除く)スリープライスといって、数千円でレンズも含めて作れる物。

ライセンスブランドといってシャネルやグッチとライセンスを結んで、作られる物

ハウスブランドといって正式な定義ではないですが、実質的にメガネ専門ブランドがあります。デザイン性、クオリティ共に高いです。

センスのいいとなるとハウスブランドのメガネを集めている眼鏡屋さんが最適です。

#3の方が挙げられている999.9(フォーナインズ...続きを読む

Qユーザーフォームのテキストボックスの書式設定について

ユーザーフォームのテキストボックスの書式設定について
TextBox1に金額、TextBox2に日付を入力し、Sheet1に転記するような
フォームを作っています。
TextBox1には、
Private Sub TextBox1_Change()
y = TextBox1.Text
TextBox1.Text = Format$(CLng(y), "#,##0")
End Sub
としています。
TextBox2には、書式をH○○.○.○という設定にしたいのですが、
どのようにしたらよいでしょうか。

Aベストアンサー

返事が遅くなりました。時間が経った場合に、補足側にコメントを付けられても気がつかないことがあります。

>Enterをいれず、マウスでTTextBox1からextBox2へと移動した場合はどうなるのでしょうか?TextBox2_Changeでしょうか?

もちろん、そういう設定もありますが、少し困った質問ですね。もともと、Enter を入れて、入力値を確定するという意味で、Enter を入れるという意味になるはずです。タブで次のテキストボックスに移動するというなら、以下のようになりますが、そうでない場合は、別の方法になります。[タブで移動する場合]と[マウスで移動する場合を含む]は、共有しません。

''//タブで移動する場合
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
 If KeyCode() <> 13 And KeyCode <> 9 Then Exit Sub
 If IsNumeric(TextBox1.Text) Then
  TextBox1.Text = Format(TextBox1.Text, "#,##0")
 End If
End Sub
Private Sub TextBox2_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
 If KeyCode() <> 13 And KeyCode <> 9 Then Exit Sub
 If IsDate(TextBox2.Text) Then
  If Abs(Year(Date) - Year(CDate(TextBox2.Text))) < 20 Then '20年の差がある時は無視
   TextBox2.Text = Format(CDate(TextBox2.Text), "GEE.M.D")
  End If
 End If
End Sub


''//マウスだけで移動する場合を含む
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
 Call ChangeFormat(TextBox1)
End Sub
Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
 Call ChangeFormat(TextBox2)
End Sub

Sub ChangeFormat(objTxt As Object)
 If IsNumeric(objTxt.Text) Then
  objTxt.Text = Format(objTxt.Text, "#,##0")
 ElseIf IsDate(TextBox2.Text) Then
  If Abs(Year(Date) - Year(CDate(objTxt.Text))) < 20 Then '20年の差がある時は無視
   objTxt.Text = Format(CDate(objTxt.Text), "GEE.M.D")
  End If
 End If
End Sub

返事が遅くなりました。時間が経った場合に、補足側にコメントを付けられても気がつかないことがあります。

>Enterをいれず、マウスでTTextBox1からextBox2へと移動した場合はどうなるのでしょうか?TextBox2_Changeでしょうか?

もちろん、そういう設定もありますが、少し困った質問ですね。もともと、Enter を入れて、入力値を確定するという意味で、Enter を入れるという意味になるはずです。タブで次のテキストボックスに移動するというなら、以下のようになりますが、そうでない場合は、別の方法になります...続きを読む

Q老眼鏡を作りたいのでお勧めの眼鏡店を教えてください

パソコンを持っていない50代に友人の代わりに質問します。

友人が最近本を読みづらくなってきたので老眼鏡を作りたいそうです。大阪市内にある眼鏡店でお勧めのお店を教えてください。(友人は近視と乱視で眼鏡をかけています。)

なお友人は、価格よりも眼鏡の質を優先するそうで、きちんと検眼して一人一人にあったオーダーメイドの眼鏡を作ってくれる眼鏡店を希望しているそうです。

よろしくお願いします。

Aベストアンサー

こんにちは

今お使い御眼鏡を作って頂いているところは
どうなのでしょうか?

個人商店などで有名なところは判らないのですが
百貨店のメガネサロンでしたら、信用できると思います。

アフタケアもしっかりしていますので
一度ご覧になってみてはいかがでしょうか?



http://www.hankyu-dept.co.jp/honten/floor/floor7f.html/

http://www.hankyu-dept.co.jp/honten/information/living-watch/watch/00021694/?catCode=101007

Qフォームのテキストボックスが空白なら"*"を入力する

「フォームのテキストボックスが空白なら"*"を入力する」
としたいのですが
If Form.承認者テキスト.Value = "" Then Form.承認者テキト.Value = "*"
だと承認者テキストでも"*"が入力されません。

Form.承認者テキスト.Value = Null
としてもできません。どうすればいいのでしょうか?
よろしくお願いします。

Aベストアンサー

If IsNull(Form.承認者テキスト.Value) = True Then Form.承認者テキト.Value = "*"

としたらどうなりますか?

Q眼鏡がずり落ちる

私は、耳が小さく位置が低くて、鼻も低く、さらに脂性のせいか、どんな眼鏡をして、どんなに眼鏡屋さんで調整しても、違和感があり、必ずずり落ちてきます。しょっちゅう、それこそ2、3分毎に手で直しています。そのせいか肩もこって大変です。医学的な理由からコンタクトレンズも出来ません。

ヤクルトの古田監督がしている、フルオーダーメイトのアイメトリクスを購入しましたが、それでもダメでした。

どうしたら良いでしょうか。

Aベストアンサー

メガネロックは結構のびますよ。でも眼鏡屋さんに行ってつけられるか聞いてから購入したほうがいいです。
次にメガネを買い替えるときのポイント
●フレームもレンズも出来るだけ軽い物にする。
レンズ小さければ軽くなります。
素材は合金ではなくチタンなど軽い物を。セルはだめです。
●先セルがシリコンになっている物もあります。
スポティーな物に多いです。
●鼻パッドもシリコンにしましょう。
●こまめに洗浄しましょう。
あとは調整がうまくいくまで何度でもやってもらう。

QExcelユーザーフォーム(テキストボックス)の文字入力について

何種類かあるテキストボックスを、番号入力なら半角入力とか英数入力、名前欄ならひらがな入力とかに設定は出来ませんか?

Aベストアンサー

プロパティにある「IME Mode」で変更できます。
ただし、このファイルを使う際にIMEを使用していないと有効になりません。

Modeは9種類あり、
0=コントロールしない
1=IMEをONにする
2=IMEをOFFにする
3=IMEを使用できないようにする
(Passwordなど半角英数字のみ入力時など)
4=全角ひらがな
5=全角カタカナ
6=半角カタカナ
7=全角英数字
8=半角英数字
になっています。

Q遠近両用眼鏡について質問です。

数年前、少々老眼が入り遠近両用の眼鏡を購入しました。
度数をゆるめに作って頂いたせいか異和感はほとんどありませんでした。

しかし最近近視も進んだのか遠くがぼやけてしまうようになった。
また、老眼が進んだのか近くも見えづらくなり眼鏡を外して見るようになった。

以上の理由でレンズのみ交換で作り直しました。
オーダーの最高級に近い物を選びました。

検視中は遠くもよく見えるし、近くもみえるしで注文しましたが、出来あがってきてかけたらゆがむゆがむ・・・。
確かに遠くはよく見える、しかし中間がゆがむ。
近くもゆがむ。
自分で選んだのだから仕方ないと帰りました。

1週間試しました頭痛が酷いのです。
階段降りるのも遠近感がとれず怖い。
困っています。

やはり返品は無理ですよね?オーダーメイドですから。

今後の為にどうしたらよいのでしょうか。
近視と老眼鏡は各々作った方がいいのでしょうか???

Aベストアンサー

気になったのはレンズ交換のみで作り直したことです。

遠方視と近方視との度の差を「加入度数」と言いますが、眼鏡の枠をそのままにして加入度数を増やしている訳ですから、ゆがみが大きくなるのは当然と言えます。

眼鏡屋でキチンと見えたのなら、それに見合った枠を選ばないと出来上がった眼鏡が検査のときとは違ってくることはありえます。

また、眼鏡レンズのメーカーによる差もあるので、検査の時の矯正に近いメーカーを選ぶことも重要だと思います。

Qテキストボックスの内容でチェックボックスの既定値

下記質問の続きです。
http://oshiete.goo.ne.jp/qa/8186736.html
Accessで、
チェックボックスにチェックを入れることで
テキストボックスに文字を表示させています。

そのフォームをいったん閉じると、
テキストボックスには
前回チェックボックスで入力した文字が反映されているのですが
チェックボックスのチェックがすべて外れてしまっています。

フォームを開いたとき、
テキストボックスの内容によって、
配置したチェックボックスにチェックを入れたいです。

テキストボックスに
「A C」
と入っていたら
■A
□B
■C
□D
□E

としたいです。

(開いたあとは、また別の所にチェックを入れたり外したりします)

チェックボックスのプロパティ「既定値」のところに
IF([テキストボックス] like "*"&"A"&"*",ture,false)
などとしてみたのですがうまういきませんでした。

ご教授お願いいたします!

Aベストアンサー

AccessでのVBAはあまり経験がないのですが、form_loadのイベント時にテキストボックスの内容を
判定してチェックを付けるコードを付加すればいいのではないでしょうか?

checkbox1がAのチェックボックスだとして、

IF [テキストボックス] like "*"&"A"&"*" then
Me.checkbox1.value=ture
End If 

とか。


人気Q&Aランキング