- ベストアンサー
Excelチェックボックスの位置
Excelのチェックボックスって、セルの中央に固定はできないのですか。 チェック欄の横の文章が全部2行の時や3行の時があるので、上下中央ぞろえなどでは無理です。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
興味を惹かれ、VBAで挑戦してみました。 後記コードを標準モジュールの貼り付け、 sample を実行してみてください。 なお、 Const MaxRows = 100 '最大行数 は、チェックボックスの書き込まれた最終行以降の行番号を指定してください。 充分大きな値でも大丈夫と思います。 Sub sample() Dim sh As Shape Dim LineNum As Long For Each sh In ActiveSheet.Shapes If Left(sh.Name, 9) = "Check Box" Then '何行目にあるかを調べる LineNum = SearchR(sh.Top + (sh.Height / 2)) '表示位置を変更 sh.Top = Rows(LineNum).Top + Rows(LineNum).Height / 2 - (sh.Height / 2) End If Next sh End Sub '縦位置から該当行番号を取得する関数 Function SearchR(MyTop As Double) As Long Const MaxRows = 100 '最大行数 Dim r As Long For r = 1 To MaxRows If ((Cells(r, 1).Top < MyTop) And _ (Cells(r, 1).Top + Cells(r, 1).Height > MyTop)) Then SearchR = r Exit Function End If Next r End Function