[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『セルの値により図形を移動』(竜)
図形を移動方法を教えて欲しいです。 例えばA1の値が「りんご」だったら 結合セルQ27:W28の中に配置してある図形(円/楕円)を左に100ピクセル移動させる。 A1の値が「みかん」だったら左に100ピクセル移動させる なんてことはできないですか?
エクセル2007です 宜しくお願いします。
Sub tet() Dim objS As Object, objr As Range
If Range("a1").Value = "りんご" Or Range("a1").Value = "みかん" Then Set objr = Range("q27:w28") For Each objS In ActiveSheet.DrawingObjects If Not Application.Intersect(Range(objr.Address), Range(objS.TopLeftCell, objS.BottomRightCell)) _ Is Nothing And objS.OnAction = "" Then If Left(objS.Name, 4) = "Oval" Then ActiveSheet.Shapes(objS.Name).IncrementLeft -100 End If End If Next End If End Sub (~o~)
ピクセル単位での移動は出来ないと思いますよ。 ポイントで、0.75単位が基準。
ピクセルをポイントに変えて移動しても、例えば、0.5の移動は、 0.75に修正されるだろうし。 BJ
失礼しました。ポイント単位としてました。Sub tet()は 無視してください。 BJさん ありがとう。 (~o~)
急に仕事がたてこんで、ネットを開けずにいました。申し訳ありません。 回答をつけていただいたものの、ピクセル単位での移動はどうやら無理みたいだとわかりました。 では、他の単位での移動なら可能でしょうか?例えばセル単位とか もし方法をご存じの方がいらっしゃいまいしたら、ご教示願います。 (竜)
ActiveSheet.Shapes(objS.Name).IncrementLeft -100*3/4 100ピクセルならイケソウナ気がしますが? ↑追加して (盆)
盆さんへ 回答有難うございます。 早速 試させていただいたのですが、残念ながらコードは動きませんでした。 (竜)
>例えばセル単位とか セル単位でなくセル基準だけど。 参考 [[20080926072706]]『VBA:画像の挿入2』(masabou5) BJ
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.