Excelマクロコードについて教えてください。 Sub 図形移動() ActiveSheet.Shapes("電子審査").Left = Range("L6").Left

Visual Basic | Excel82閲覧xmlns="http://www.w3.org/2000/svg">25

ベストアンサー

0

ThanksImg質問者からのお礼コメント

回答ありがとうございました。 全て解決いたしました。

お礼日時:5/25 11:11

その他の回答(2件)

1

Topは設定不要? 同じことを何回も書くならべつのプロシージャにしたほうがいいのかな? Topは各セルのTopに設定しています。 Sub 図形移動() Call 位置決め("電子審査", "L6") Call 位置決め("審査完了", "L9") Call 位置決め("チェック完了", "L12") Call 位置決め("PDF", "L15") End Sub Sub 位置決め(sn As String, ad As String) Dim l As Double, t As Double l = Range(ad).Left + Range(ad).Width / 2 t = Range(ad).Top With ActiveSheet.Shapes(sn) .Left = l .Top = t End With End Sub

画像

1人がナイス!しています

0

center というプロパティはないのでエラーになります。 ↓を参考にしてください。セルの左端の座標からセル幅の1/2と図形幅の1/2の差だけオフセットしてあげればよいということです。 Dim myRng As Range Dim shpOfs As Single, celOfs As Single Set myRng = Range("セル番地") celOfs = myRng.Width /2 shpOfs = ActiveSheet.Shapes("図形").Left = _ myRng.Left + celOfs - shpOfs Set myRng = Nothing

回答ありがとうございます。 Sub 図形移動() Dim myRng As Range Dim shpOfs As Single, celOfs As Single Set myRng = Range("L6") celOfs = myRng.Width / 2 shpOfs = ActiveSheet.Shapes("電子審査").Left = _ myRng.Left + celOfs - shpOfs Set myRng = Nothing End Sub のコードを設定し、マクロを実行しましたが、 上手く作動しませんでした(まったく図形が動かない) 申し訳ありません、解決方法をお願いいたします。