回転させた図を任意の場所に配置させたいのですが、EXCEL2007になってからShapeRange.Top/Leftに負の値が設定できなくなってしまったようで、任意の場所に配置できなくなってしまいました。
幸いIncrementTopやIncrementLeftには負の値が設定可能なようなのですが、Excel2003の場合とExcel2007の場合で動作が違うことには変わりなく、Excel2003ではTop/Leftの設定だけで済んだものがExce2007ではTop/Leftである程度の基準位置を設定したあと、さらにIncrementTop/IncrementLeftで補正の必要があるように思います。
こんなやり方をしないと図の配置はできないのでしょうか?
具体的には、マクロにて横長や縦長の長方形の図形を挿入し、位置を指定するのですが、図を回転した場合でもTop/Leftは、回転前の図のTop/Leftを設定するので、横長の図を90度回転させ縦長にした場合には、Leftに0を設定しても、回転後の結果の図は左端にはよっておらず、(元の図の横幅-元の図の縦幅)÷2の分だけ空いてしまいます。
なので、EXCEL2003では求められた空きの分だけLeftに負の値を設定するだけでよかったのですが、EXCEL2007ではLeftに負の値が設定できなくなっており、左端に寄せる事が不可能になっています。
以下、現象確認のための簡単なサンプルのマクロを示します。
'縦長の場合です
ActiveSheet.Pictures.Insert("C:\TEMP\BITMAP.BMP").Select
Selection.ShapeRange.LockAspectRatio = msoFalse
Selection.ShapeRange.Height = 700
Selection.ShapeRange.Width = 100
Selection.ShapeRange.Rotation = 90#
Selection.ShapeRange.Top = Range("B2").Top
Selection.ShapeRange.Left = Range("B2").Left
'横長の場合です
ActiveSheet.Pictures.Insert("C:\TEMP\BITMAP.BMP").Select
Selection.ShapeRange.LockAspectRatio = msoFalse
Selection.ShapeRange.Height = 100
Selection.ShapeRange.Width = 700
Selection.ShapeRange.Rotation = 90#
Selection.ShapeRange.Top = Range("B2").Top
Selection.ShapeRange.Left = Range("B2").Left
内容はなんでもいいのでBITMAP.BMPという図のファイルを用意してください。
上記マクロは"B2"のセル位置が図形の左上を原点とするようにしたいのですが、全く違うところに図が配置されます。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
こんにちは。
駄案に近いですが、一度 .CopyPicture してみるとか^ ^;
Sub try()
With ActiveSheet
With .Pictures.Insert("C:\TEMP\BITMAP.BMP")
With .ShapeRange
.LockAspectRatio = msoFalse
.Height = 700
.Width = 100
.Rotation = 90#
End With
.CopyPicture
.Delete
End With
.Paste '.Range("B2")'直接指定なら以下不要
End With
With Selection.ShapeRange
.Top = .Parent.Range("B2").Top
.Left = .Parent.Range("B2").Left
End With
End Sub
end-uさん、こんにちは
ご回答ありがとうございます。
その通りなんですよ、回転させた後にコピーもしくは切り取りして貼り付けなおした場合には、図の原点が回転後の図の左上になるため、見たままの配置が可能なんですが、お察しの通り、貼り付けなおしているので図形書式で回転指定した角度が0になってしまいます。またご存知だとは思いますが、EXCELで図を回転させると図の品質が低下してしまうので、元に戻す事が出来ない状態です。
いろいろ調べた結果、.Top / .Leftである程度の位置に移動させてから、IncrementTopとIncrementLeftに必要となる負の値を指定し位置の補正をする事で目的の位置に移動させることができました。
どうやらEXCEL2007からは.Top/.Leftに負の値を設定することができなくなったようです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PowerPoint(パワーポイント) ExcelのVBAコードについて教えてください。 3 2022/05/25 14:32
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Excel(エクセル) エクセルで同じ数字同士を自動で線で結ぶVBAを教えてください 6 2022/04/26 23:13
- Excel(エクセル) Excelのマクロについて教えてください。 4 2022/05/31 14:07
- Excel(エクセル) エクセルについて教えてください。 2 2023/06/14 11:11
- Visual Basic(VBA) 【VBA】写真の縦横比を変えずに貼り付ける 5 2023/06/13 11:42
- その他(Microsoft Office) エクセルのマクロでスライサー教えてください。 1 2022/09/28 16:40
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2022/05/26 17:19
- その他(プログラミング・Web制作) プログラミング pythonの問題について 2 2022/04/19 00:41
- Visual Basic(VBA) VBAの繰り返し処理について教えてください。 3 2022/08/02 13:21
このQ&Aを見た人はこんなQ&Aも見ています
-
見学に行くとしたら【天国】と【地獄】どっち?
みなさんは、一度だけ見学に行けるとしたら【天国】と【地獄】どちらに行きたいですか? 理由も聞きたいです。
-
歳とったな〜〜と思ったことは?
歳とったな〜〜〜、老いたな〜〜と思った具体的な瞬間はありますか?
-
最強の防寒、あったか術を教えてください!
とっても寒がりなのですが、冬に皆さんがされている最強の防寒、あったか術が知りたいです!
-
AIツールの活用方法を教えて
みなさんは普段どのような場面でAIツール(ChatGPTなど)を活用していますか?
-
「これいらなくない?」という慣習、教えてください
現代になって省略されてきたとはいえ、必要性のない慣習や風習、ありませんか?
-
エクセルVBAで縦向きの画像の挿入・回転
Excel(エクセル)
-
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
マクロを実行すると画像がズレてしまいます
その他(Microsoft Office)
-
-
4
エクセルvbaでの図形のカット(コピー)ペーストについて
Excel(エクセル)
-
5
VBAで写真を設定したフレームに挿入しようとしたが、Rotation=90の場合うまくいかない
Excel(エクセル)
-
6
回転させた画像を左上のセルにフィットさせたい
Excel(エクセル)
-
7
エクセルVBA 画像を貼り付けるセル位置を指定する方法
Excel(エクセル)
-
8
【VBA】写真の貼り付けコードがうまく機能しません。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・【選手権お題その3】この画像で一言【大喜利】
- ・【お題】逆襲の桃太郎
- ・自分独自の健康法はある?
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・ちょっと先の未来クイズ第6問
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで100マスの乱数表...
-
首吊りどこ締めるの
-
EXCELで条件付き書式で空白セル...
-
爪が紫色?
-
彼女のことが好きすぎて彼女の...
-
精子に血が・・・
-
ワードのページ番号をもっと下...
-
EXCELで式からグラフを描くには?
-
VLOOKUP関数を使用時、検索する...
-
値が入っているときだけ計算結...
-
2つの数値のうち、数値が小さい...
-
小数点以下を繰り上げたものを...
-
勃起する時って痛いんですか? ...
-
風俗店へ行く前のご飯
-
エクセル指定した範囲からラン...
-
リンク先のファイルを開かなく...
-
Excelで""で囲む方法
-
検便についてです。 便は取れた...
-
精子が黄色?
-
Excel 0目標に対して数字があ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで100マスの乱数表...
-
首吊りどこ締めるの
-
彼女のことが好きすぎて彼女の...
-
EXCELで条件付き書式で空白セル...
-
EXCELで式からグラフを描くには?
-
リンク先のファイルを開かなく...
-
エクセル指定した範囲からラン...
-
2つの数値のうち、数値が小さい...
-
エクセルで数式の答えを数値と...
-
白血球が多いとどんな心配があ...
-
風俗店へ行く前のご飯
-
小数点以下を繰り上げたものを...
-
勃起する時って痛いんですか? ...
-
エクセルのラベルの値(文字列...
-
VLOOKUP関数を使用時、検索する...
-
ワードのページ番号をもっと下...
-
ある範囲のセルから任意の値を...
-
これって喉仏ですか? 私は女性...
-
MIN関数で空白セルを無視したい...
-
イタリアから帰国する際、肉製...
おすすめ情報