[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『チェックボックスの確認』(しし丸)
ユーザーフォームのチェックボックスでチェックしたものを シートへ転記できるようになんとかできたのですが、 入力済のデータを確認する為に 、ユーザーフォームをひらいても チェックボックスは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.