Excel VBA質問箱 IV

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

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


7377 / 13645 ツリー ←次へ | 前へ→

【39477】チェックボックスについてなんですけれども・・ 超ビギナー 06/6/24(土) 21:59 質問[未読]
【39479】Re:チェックボックスについてなんですけれ... [名前なし] 06/6/24(土) 23:39 発言[未読]
【39506】Re:チェックボックスについてなんですけれ... 超ビギナー 06/6/25(日) 21:48 質問[未読]
【39509】Re:チェックボックスについてなんですけれ... [名前なし] 06/6/25(日) 22:10 発言[未読]
【39511】Re:チェックボックスについてなんですけれ... 超ビギナー 06/6/25(日) 22:22 お礼[未読]

【39477】チェックボックスについてなんですけれど...
質問  超ビギナー E-MAIL  - 06/6/24(土) 21:59 -

引用なし
パスワード
   UserFormには20個のCheckBoxがあり、CheckBoxでチェックを入れるとA列の空いている上のセルから順にプロットしていくようなマクロをネットで見ながらなんとか出来たのですが、チェックをはずしたときにそのセルにプロットした文字を消したいのですが上手く出来ません。
今の状況は、チェックを外したら、チェックをつけた時と同じ動きになってしまいます。
どなたかヒントをお願い致しますm(__)m


Private Sub CheckBox1_Click()
Dim i As Range

 On Error Resume Next
 Set i = Columns("A").SpecialCells(xlCellTypeBlanks).Cells(1, 1)
 On Error GoTo 0
 If i Is Nothing Then
  If Range("A1").Value = "" Then
   Set i = Range("A1")
  ElseIf Range("A65536").Value <> "" Then
  Else
  MsgBox "対象範囲にはすべて入力済みです"
  End If
 End If
 
 If Not i Is Nothing Then
  i.Value = "root"
 Else
  MsgBox "対象範囲にはすべて入力済みです"
 End If

End Sub

【39479】Re:チェックボックスについてなんですけ...
発言  [名前なし]  - 06/6/24(土) 23:39 -

引用なし
パスワード
   >今の状況は、チェックを外したら、チェックをつけた時と同じ動きになってしまいます。
>どなたかヒントをお願い致しますm(__)m

If CheckBox1.Value Then
 (チェックされたときの処理)
Else
 (チェックをはずしたときの処理)
End If

で分岐すればよろしいかと。

【39506】Re:チェックボックスについてなんですけ...
質問  超ビギナー E-MAIL  - 06/6/25(日) 21:48 -

引用なし
パスワード
   名前なしさんありがとうございます。m(__)m分岐の仕方わかりました(^o^)丿
でも、問題が・・・(T_T)
当該チェックボックスで書き込んだセルの値を消すことがどうしたらよいものかと!?

Range("?").Clear

【39509】Re:チェックボックスについてなんですけ...
発言  [名前なし]  - 06/6/25(日) 22:10 -

引用なし
パスワード
   >当該チェックボックスで書き込んだセルの値を消すことがどうしたらよいものかと!?
>Range("?").Clear

そのチェックボックスで消すセルのアドレスは、チェックをつけてセルに書き込む
時点でわかっているはずですので、そのときにどこかに控えておけばいいのでは?

例えばチェックをつけたとき、

i.Value = "root"
CheckBox1.Tag = i.address 'Tagプロパティにセルアドレスを保存

としておいて、チェックを外すときは

Range(CheckBox1.Tag).Clear

とするとか。

必ずA列に "root" という文字が1つしかないのであれば、Application.Matchや
RangeオブジェクトのFindメソッドで書かれてるセルを探して消すというのも
手ですが。

【39511】Re:チェックボックスについてなんですけ...
お礼  超ビギナー E-MAIL  - 06/6/25(日) 22:22 -

引用なし
パスワード
   名前なしさん さっそくの返信ありがとうございますm(__)m
思い通りな動きが出来ました!なるほど関心。。勉強になりました。
ありがとうございましたm(__)m

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