Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


4116 / 13644 ツリー ←次へ | 前へ→

【58358】ユーザーフォーム ふーみん 08/10/21(火) 9:13 質問[未読]
【58360】Re:ユーザーフォーム ハチ 08/10/21(火) 10:02 発言[未読]
【58361】Re:ユーザーフォーム にぃ 08/10/21(火) 10:24 発言[未読]

【58358】ユーザーフォーム
質問  ふーみん  - 08/10/21(火) 9:13 -

引用なし
パスワード
   エクセルのシートにアンケートデータの入力をしています。A3からA1002までは1から1000までのナンバーが入っていてB列からAO列までアンケートの回答が入るようになっています。入力はユーザーフォームを使ってしています。入力ボタンを押すとシートに入り、テキストボックスがクリアーされて、下の行に移動して、次の人の回答が入るようにしているのですが、ユーザーフォームのテキストボックスに現在入力している人のナンバーを表示することはできないでしょうか。また、それを変更できないようにしたいです。

【58360】Re:ユーザーフォーム
発言  ハチ  - 08/10/21(火) 10:02 -

引用なし
パスワード
   ▼ふーみん さん:
>ユーザーフォームのテキストボックスに現在入力している人の
>ナンバーを表示することはできないでしょうか。

どうやって行を指定しているのか、わかりませんが、
仮に行番号r として・・・
Textbox1.Value = WorkSheets(1).Cells(r,1).Text
とかで良いのでか?

>また、それを変更できないようにしたいです。

TextBox1.Enabled = False とすれば、変更できなくなりますが、
Labelを使うほうが、適切だと思いますよ。

【58361】Re:ユーザーフォーム
発言  にぃ  - 08/10/21(火) 10:24 -

引用なし
パスワード
   ▼ふーみん さん:
おはようございます!

>ユーザーフォームのテキストボックスに現在入力している人のナンバーを表示することはできないでしょうか。
このユーザーフォームはどのようにして起動しているのでしょう?
シートにコマンドボタンを作って起動しているとしたらその起動モジュールのコードに以下をいれてみてはどうでしょう?
B3から作業されているセルの次のセルをみつけて、そのときのセルAの値を返してます。

Dim i As Integer

i = ThisWorkbook.Worksheets("sheet1").Range("B3").End(xlDown).row + 1
UserForm1.TextBox1.Value = Cells(i, 1)
UserForm1.Show ’ユーザーフォームの起動、たぶん記載されていると思います

↑UserForm1.Showがたぶんあると思いますので、その上にいれてあげてください

>また、それを変更できないようにしたいです。
Textbox1のプロパティEnabledをFalseにすれば可能です。
もしくはLabelを使用すれば起動時は変更されませんよ^^

4116 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free