[[20131017171654]] 『非表示にするとチェックボックスが重なる』(マカロン) ページの最後に飛ぶ

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

 

『非表示にするとチェックボックスが重なる』(マカロン)

Excel2010,Windows 7

過去ログを拝見し、《20100621125051》の内容が少し似ているかと調べましたが
解決できなかったので相談させて下さい。

行が40行程あり、N列にチェックボックスを設置しています。
(フォームコントロールで作成)
O列にTRUE・FALSEが出るようにコントロールの書式設定をしています。

いくつかの行をグループ化しており
非表示にするとチェックボックスが重なってしまいます。

過去質問の”書式設定の「プロパティ」タブで、「セルにあわせて移動やサイズ変更する」”
が選択することができないので試せていません。

チェックボックスの範囲を小さくしたり
行の高さを変えたりもしたのですが
いじればいじるほど重なっているような気がします。

後、あまり関係ないかもしれませんが
O列がTRUE・FALSEになることによってセルの色が変わるマクロを設定しています。

チェックボックスを作成する際に
コントロール+Dで作ったのですが
ひとつのセルに複数個作成されてしまったので
一つのセルに一つになるように消しました。

チェックボックスの複製の方法が悪かったんでしょうか?

グループ化ですが、
ルーチンでグループ化して使用するのと
解除して使用するのとは半々くらいの割合なので
チェックボックスが重なって表示されない(隠れているセルにチェックが入らない)ようにしたいです。

よろしくお願いします。


 オブジェクトをセルにおいた状態でのソートやフィルタはいろいろと問題が
 あるようです。

 お遊びの代替案ですが、
 O1:O40 を選択して書式の設定でユーザ定義で
  [=0]"□";[=1]"☑";;
 を設定

 シートタブのコードを表示で表示されたウィンドウに
 Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
    If Intersect(Target, Range("O1:O40")) Is Nothing Then Exit Sub
    For Each r In Intersect(Target, Range("O1:O40"))
        Target.Value = IIf(Target.Value = 0, 1, 0)
        Cancel = True
    Next
 End Sub

 を記述で、O1:O40 の範囲のセルを右クリックするとチェックボックスのように
 挙動しますがどうでしょうか。
 やっぱりチェックボックスが、という場合には読み飛ばしてください。
(Mook) 2013/10/17(木) 20:55

 >過去質問の”書式設定の「プロパティ」タブで、「セルにあわせて移動やサイズ変更する」

 フォームのチェックボックスではなく、ActiveXControlのそれならば、↑の設定が可能ですよ

 もっとも、このチェックボックスが必要な行数があまり多いようなら
 仕様自体の見直しも必要かと思いますが、といあえず情報として・・・・。

(ichinose) 2013/10/18(金) 06:48


Mook様

Mook様のユーザー定義、コードを使用すると
うまくいきました!

チェックボックスにこだわっている訳ではないので
この方法を使用させていただこうと思います。

書いて頂いたコードが私には理解出来ておらず。。
メンテの時の為に勉強しようと思います。

ichinose様

よくよく見返すと
私の理解・手順が間違っていました。

再度試してはいないのですが心に留めておこうと思います。

お二人ともありがとうございました。

(マカロン) 2013/10/18(金) 13:44


コメント返信:

[ 一覧(最新更新順) ]


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