• ベストアンサー

Excelチェックボックスの位置

Excelのチェックボックスって、セルの中央に固定はできないのですか。 チェック欄の横の文章が全部2行の時や3行の時があるので、上下中央ぞろえなどでは無理です。

質問者が選んだベストアンサー

  • ベストアンサー
  • HohoPapa
  • ベストアンサー率65% (455/693)
回答No.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

関連するQ&A