##これは
Excelでの資料作成時に意外と便利かもしれない、ちょっとしたマクロです。
複数の図形を選択した状態で当マクロを実行すると、
一つ目に選択したものを基準にして、図形の位置や大きさを調整します。
( 以前投稿したPowerPoint用のVBScript の焼き直しです。)
##コード
Sub 図形位置調整(Optional 左 As Boolean = False, Optional 上 As Boolean = False, _
Optional 幅 As Boolean = False, Optional 高 As Boolean = False, _
Optional 右 As Boolean = False, Optional 底 As Boolean = False, _
Optional 横 As Boolean = False, Optional 縦 As Boolean = False, _
Optional 間 As Long = 5)
Dim obj As Object, shpRng As ShapeRange
Set obj = ActiveWindow.Selection
If Not TypeName(obj) = "DrawingObjects" Then Exit Sub
Set shpRng = obj.ShapeRange
Dim i, l, t, w, h, r, b
For i = 1 To shpRng.Count
With shpRng.Item(i)
If i = 1 Then
l = .Left
t = .Top
w = .Width
h = .Height
r = l + w
b = t + h
Else
If 左 Then .Left = l
If 上 Then .Top = t
If 幅 Then .Width = w
If 高 Then .Height = h
If 右 Then .Width = r - .Left
If 底 Then .Height = b - .Top
If 横 Then .Left = r + 間
If 横 Then r = .Left + .Width
If 縦 Then .Top = b + 間
If 縦 Then b = .Top + .Height
End If
End With
Next
End Sub
##使用例
よく使う作業をこんな感じでそれぞれ定義します。
クイックアクセスツールバーなどに登録しておくのもよいでしょう。
Sub 左端を揃える()
図形位置調整 左:=True
End Sub
Sub 左端と幅を揃えて縦に整列()
図形位置調整 左:=True, 幅:=True, 縦:=True, 間:=10
End Sub