[[20240718104307]] 『配置→上下に整列 で間隔を固定できますか?』(dk) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) |

| 全文検索 | 過去ログ ]

 

『配置→上下に整列 で間隔を固定できますか?』(dk)

シートに複数の画像が貼ってあります。画像の間隔はマチマチです。
複数画像を選択し、メニューの「配置」→「上下に整列」を行うと
間隔が平均値になってしまうようです。
例えば1行間を空けるような設定は可能でしょうか?

< 使用 Excel:Microsoft365、使用 OS:Windows10 >


 上下に整列は一番上と一番下と固定して、等間隔で並べるのでそうなりますね。

 指定した間隔で並べたいなら、自分でマクロをつくるか、
 そのようなアドインが公開されてないか探すと、もしかしたらあるかもしれません

 Sub sample() '画像を選択して実行
    If TypeName(Selection) <> "DrawingObjects" Then Exit Sub
    dh = Val(InputBox("間隔を指定してください", "数値入力", "10"))
    Dim s As Shape, tops() As Variant
    ReDim tops(1 To Selection.ShapeRange.Count)
    i = 1
    For Each s In Selection.ShapeRange
       tops(i) = s.Top
       i = i + 1
    Next
    i = WorksheetFunction.Match(WorksheetFunction.Min(tops), tops, 0)
    tops(i) = Empty
    For k = 2 To Selection.ShapeRange.Count
        j = WorksheetFunction.Match(WorksheetFunction.Min(tops), tops, 0)
        Debug.Print Selection.ShapeRange(i).Top
        Selection.ShapeRange(j).Top = Selection.ShapeRange(i).Top + Selection.ShapeRange(i).Height + dh
        tops(j) = Empty
        i = j
    Next
 End Sub
(´・ω・`) 2024/07/18(木) 11:19:09

(´・ω・`)さん、コメントありがとうございます。

Excel標準機能では無理だということですね。
マクロを使う方向で考えてみようと思います。
ところで、書いて下ったマクロですが私の環境では効果がありませんでした。
マクロの「実行」まではできましたが、エラーが出ることも無く、
画像が移動することもありませんでした。
(dk) 2024/07/18(木) 13:15:22


申し訳ございません。画像を選択していなかったのが原因でした。
画像を選択した状態でマクロを実行したら整列できました。
ありがとうございましたm(__)m
(dk) 2024/07/18(木) 13:31:40

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.