[[20061008215800]] 『チェックボックスの確認』(しし丸) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『チェックボックスの確認』(しし丸)

 ユーザーフォームのチェックボックスでチェックしたものを
シートへ転記できるようになんとかできたのですが、
入力済のデータを確認する為に 、ユーザーフォームをひらいても
チェックボックスはFALSE(空白)のままです。
確認することはできないのでしょうか?

 ちなみに今回作ったものは↓です。
(チェックボックスのオブジェクト名はChe101
 転記先のシートは、今開いている行の4列目。
 チェックすると、1が入ります。)

 Private Sub Che101_Click()
If Che101.Value = True Then
Cells(ActiveCell.Row, 4).Value = 1
Else
Cells(ActiveCell.Row, 4).Value = ""
End If
End Sub

 に対し、最初は単純にイコールしてみましたが、ダメで次に考えたのが
下のようにIF式でやってみましたがダメでした…

 Private Sub UserForm1_ACTIVATE()
If Cells(ActiveCell.Row, 4).Value = 1 Then
Che101.Value = True
End If
End Sub

 誰か助けて下さい。宜しくお願いします。

 UserFormはどうやって表示していますか?
 フォームのボタンに登録?

 Private Sub UserForm_Initialize()
 If Cells(ActiveCell.Row, 4).Value = 1 Then
    Che101.Value = True
 End If
 End Sub
 ではどうですか?
 (困困)

 困困さんありがとうございます。できました!!
Initializeイベントの使い方がいまいちよく分かっていませんが、できて嬉しいです!
助かりました!!
(しし丸)

 できた!!と喜んでいたら、2つ目のチェックボックス以降がエラー表示になります。
『コンパイルエラー。名前が適切ではありません。Userform_Initialize』

 困困さんの最初の質問>UserFormはどうやって表示していますか?ー
は、標準モジュールに UserForm1.show で、フォームのボタンにマクロの登録をして
呼び出しています。

すいません。もう一度助けて下さい。


 もしかしたら、Initializeイベントを複数書かれたのではありませんか、
 2つ目以降の記述も同じInitializeイベントの中に記述します。

 (川野鮎太郎)

 まさに言われたとおりのことをしていました…
川野鮎太郎さん ありがとうございます!!
ほんと助かりました!!
(しし丸)

 先週の続きで、又困っています。
ユーザーフォーム上にコマンドボタン[<][>]を貼り付けて、カードをめくるように入力したいと思っています。
(ボタンを押すと行が一行ずつ移動し、入力済であれば入力済の内容が表示され、
 空白行なら何も表示されないーというイメージです)
なんとなく変数を使うというのは分かるのですが、具体的にどうすれば良いか分かりません。どなたか教えて下さい。よろしくお願いします。

 例1
 コマンドボタン[<][>]とtextbox1をユーザーフォーム上に配置

 Private Sub CommandButton1_Click()
     ActiveCell.Offset(1).Select
     TextBox1.Text = ActiveCell.Value
 End Sub

 Private Sub CommandButton2_Click()
     If ActiveCell.Row = 1 Then Exit Sub
     ActiveCell.Offset(-1).Select
     TextBox1.Text = ActiveCell.Value
 End Sub

 Private Sub UserForm_Initialize()
     TextBox1.Text = ActiveCell.Value
 End Sub
 でどないでっしゃろ?
 また常にアクティブなセルをテキストボックスに表示したいばやいは
 そのシートモジュールに

 Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    UserForm1.TextBox1.Text = Target.Value
 End Sub
 として、それぞれのコマンドボタンのtextbox1.text=activecell.valueを消去
 でやればいけまっせ。
 ただこれは常時イベントが発生しますからあんまりお薦めはでけまへんけど・・・            (弥太郎)

 早速のレスありがとうございます。
 コマンドボタンで、アクティブセルの位置(行)を変えることはできました。

 が、入力済の内容の表示がうまくできません。
ユーザーフォーム上のコントール部品は、テキストボックスではなく
ほとんどチェックボックスであり、チェック済のセルに1が入力されています。

 もともと、上のレスで教えて頂いたとおり、
Initializeイベントの中にIF(セルに1が入っていればチェックボックスもtrueになる)いう記述があり、それをどのように変えれば良いのか、
Worksheet_SelectionChangeイベントとの関係をどうすれば良いのか
すいません理解が悪くて…
またよろしくお願いします。
 (しし丸)


 TextBoxに表示するのはCellの値ではないのですか?
 Cellが1であればチェックボックスにチェックを入れるとかですか?

 (困困)

 そうなんです!
 Cellが1であればチェックボックスにチェックを入れる ということなんです。
表題のタイトルどおり『チェックボックスの確認』をしたいんです。

 ユーザーフォームを一度閉じて、又開けるーであれば、困困さんに以前教えて頂いたとおりでいけるのですが、
 ユーザーフォームを開いたまま、[<][>]のようなボタンを押すことで、チェックボックスの確認をするにはどうすれば良いのか分からなくて…

 どうぞ宜しくお願いします。
 (しし丸)

 Private Sub CommandButton1_Click()
 '下へ
 ActiveCell.Offset(1,0).Select
 If ActiveCell.Value = 1 Then
   CheckBox1.Value = True
 Else
   CheckBox1.Value = False
 End If
 End Sub

 でどうでしょうか。
 #セルをSelectする必要があるかはわかりませんが・・・
 シートを確認しながらUserFormを使用しているのでしょうか?
 (困困)

 困困さん、再びありがとうございます。
何とかできました。難しく考えすぎていたかもしれません…
また分からないことができたときは、宜しくお願いします。
もっと勉強します。
(しし丸)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.