使い方
図形を複数のセル範囲の中央に配置するマクロを作成しました。配置後に、セル範囲のセルを結合することで、いわゆるエクセル方眼紙のユーザーにとって使いやすい仕様にしました。
コード
セルの結合機能がいらない場合は、強調した行を削除してください。Sub centerObjectToRange() Select Case TypeName(Selection) Case "DrawingObjects" For Each targetObject In Selection Call subroutineCenterObjectToRange(targetObject) Next Case "Range","Nothing" MsgBox Prompt:="Select shapes or charts on worksheet.", Title:="centerObjectToRange" Case Else Call subroutineCenterObjectToRange(Selection) End Select End Sub Sub subroutineCenterObjectToRange(ByRef targetObject As Variant) Dim targetRange As Range Set targetRange = Range(targetObject.TopLeftCell, targetObject.BottomRightCell) With targetRange targetObject.Top = .Top + .Height / 2 - targetObject.Height / 2 targetObject.Left = .Left + .Width / 2 - targetObject.Width / 2 End With targetRange.Merge End Sub
No comments :
Post a Comment