Excel (一般機能)

Excelの一般機能に関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 11 Home : Excel 2019)
チェックボックスをセルの高さに応じて移動させる
投稿日時: 23/09/07 11:31:02
投稿者: shimoichimabu

チェックボックス(Active-X)を下記のように、ワークシートにA列縦方向に配置しています。
チェックボックスはセルの中央に配置しています。
尚、チェックボックスの書式設定は
「セルに合わせて移動するがサイズは変更しない」に設定。
プロパティでは、Placement:2になっています
しかし、セルの高さを大きくした時、それに応じてチェックボックスが移動しません。
チェックボックスはそのまま上の位置にとどまり、セルの中央に移動してくれません。
設定方法が間違っているのでしようか?
 
A  B  C




 
↓ セルの高さを大きくすると、
 
A  B  C

 

 

 

回答
投稿日時: 23/09/07 19:02:50
投稿者: んなっと

 ActiveXコントロールではなく、フォームのチェックボックスにして
→チェックボックスの高さをセル(行)の高さと完全に同じになるように挿入
→「セルに合わせて移動やサイズ変更をする」に変更
→最後に行の高さを変更
 
でどうでしょうか。

回答
投稿日時: 23/09/08 10:34:30
投稿者: Suzu

引用:
チェックボックスはセルの中央に配置しています。
尚、チェックボックスの書式設定は
「セルに合わせて移動するがサイズは変更しない」に設定。

 
 
基本、オブジェクトは、左上を基準に配置されます。(Top と、Left)
それを見た目上、セルの中央に見える様に人が配置しただけで
Excel君には、セルの中央に配置されているという認識はありません。
(テキストボックスやラベル の 文字であれば、オブジェクトの中央に配置する という 設定がありますが
 チェックボックス自体にはありません。)
 
ですので設定云々の話ではなく、その様な仕様になっていないので、
設定で出来る話ではありません。
 
 
センターに来る様に見せるのであれば、VBAを使う事になるでしょう。
 
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10273774330
 
でも、セルの高さを変えたとき・・・に発動させるには、、
  ・自作イベントを作るか
あるいは、何かのイベントで、
 ・すべてのチェックボックスの高さ位置をセンターにくる様にする
 ・全て(または特定の範囲)の 行の高さを記録しておき、
  同じイベントで、その前の高さと比較し、変更した高さを比較し変更のあった行の
  チェックボックスの位置を変更
 
の様な事を行う必要があるでしょう。
 
何にしても、一般機能で設定できる話ではないかと。
 
 
んなっとさん、
当方 2019 ですが フォームチェックボックスでは、
「セルに合わせて移動するがサイズ変更はしない」は グレーアウトし選択できなくなっております。
当方の設定が悪いのかでしょうか?お判りになればコメント願います。

回答
投稿日時: 23/09/08 11:09:46
投稿者: んなっと

 [開発]
→[プロパティ]
→[プロパティ]
 

 
 右クリック
→[コントロールの書式設定]
→[プロパティ]
 
ではありません。
 
 コントロールを選択した状態で
 [図形の書式]
→[サイズ]の小さな右下矢印クリック
→[プロパティ]
 
です。

回答
投稿日時: 23/09/08 12:28:33
投稿者: Suzu

んなっと さんの引用:
 コントロールを選択した状態で
 [図形の書式]
→[サイズ]の小さな右下矢印クリック
→[プロパティ]
 
です。

 
なるほど!
 
チェックボックスの□部分が、
CheckBoxオブジェクトの テキスト表示両機を含めた上下範囲の真ん中に配置されており
行の高さ変更が、CheckBoxの高さ変更を 伴う様にする事で、センターに来るようにするのですね。
 
ActiveXのチェックボックスだと、□と、テキストが縦長になってしまうけど
フォームのチェックボックスだと、□・テキストの縦横比が変わらないので そっちを使うのですね。
 
 
引用:
→チェックボックスの高さをセル(行)の高さと完全に同じになるように挿入

上の行・自行・下の行 に跨ぐ状態にしても大丈夫ですね。
 
 
ありがとうございました。

投稿日時: 23/09/08 17:04:48
投稿者: shimoichimabu

んなっとさん、Suzuさん回答ありがとうございます。
 
フォームのチェックボックスだと、うまくできました!
図形の書式のことは知りませんでした。
 
Active-Xのチェックボックスだと、VBAになってしまうのですね。
 
いろいろ勉強になりました。