[[20150807084814]] 『アクティブなセルにチェックボックスの内容を書き』(苗) ページの最後に飛ぶ

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

 

『アクティブなセルにチェックボックスの内容を書き込みたい』(苗)

指定の列のセルをアクティブにするとユーザーフォームがポップアップしてユーザーフォームのチェックボックスにチェックを入れるとアクティブなセルにチェックボックスの名前を書き込むという風にしたいです。

過去ログから「指定の列のセルをアクティブにするとユーザーフォームがポップアップ」の部分は調べて作れたのですが、「ユーザーフォームのチェックボックスにチェックを入れるとアクティブなセルにチェックボックスの内容を書き込む」という部分が分かりません

なにかいい方法はありますでしょうか?

< 使用 Excel:Excel2010、使用 OS:Windows7 >


 CheckBoxのClickイベントでセルに転記、としてみました。
 ユーザーフォームのCheckBoxに記述します。

 Private Sub CheckBox1_Click()
  If Me.CheckBox1.Value = True Then ActiveCell.Value = Me.CheckBox1.Caption
 End Sub

(カリーニン) 2015/08/07(金) 09:06


 とりあえずサンプルです。コードでは F列が選択されるとユーザーフォームを表示。
 チェックボックス1〜3のいずれかにチェックがつけられると、アクティブセルに、そのキャプションを書きこむとともに
 ユーザーフォームを閉じます。

 シートモジュール

 Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Target, Columns("F")) Is Nothing Then UserForm1.Show
 End Sub

 ユーザーフォームモジュール(ユーザーフォームには CheckBox1,CheckBox2,CheckBox3 を配置してください)

 Private Sub CheckBox1_Click()
    setCell CheckBox1
 End Sub

 Private Sub CheckBox2_Click()
    setCell CheckBox2
 End Sub

 Private Sub CheckBox3_Click()
    setCell CheckBox3
 End Sub

 Private Sub setCell(cbx As MSForms.CheckBox)
    ActiveCell.Value = cbx.Caption
    Unload Me
 End Sub

(β) 2015/08/07(金) 09:08


 ↑ もちろん、このようなマクロ処理でもいいのですが、当該列に入力規則で文字列群のリストから
 選択させて記入するという方法が手軽でいいかもしれませんよ。

(β) 2015/08/07(金) 09:11


出来ました
ありがとうございます

もう1件聞きたいのですが、
チェックを入れたものを列記(2つチェックしたら2つ列記のように)し、チェックを外したら消去するようにはどうすればいいでしょうか?
(苗) 2015/08/07(金) 11:56


 複数のチェックボックスの選択有無を判断して書き込む必要があるのでチェックボックス選択イベントでの処理は適切ではないですね。
 別途CommandButton1 を配置。これがクリックされたらセルに書き込みます。

 アップ済みのユーザーフォームモジュールのコードを消去し以下。

 Private Sub CommandButton1_Click()
    Dim s As String
    Dim sep As Variant
    Dim i As Long

    For i = 1 To 3
        If Me.Controls("CheckBox" & i).Value Then
            s = s & sep & Me.Controls("CheckBox" & i).Caption
            sep = vbLf
        End If
    Next

    ActiveCell.Value = s

 End Sub

(β) 2015/08/07(金) 13:34


出来ました
丁寧にありがとうございました
(苗) 2015/08/07(金) 14:26

コメント返信:

[ 一覧(最新更新順) ]


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