質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

解決済

1回答

5786閲覧

画像の位置・サイズ自動調整貼り付け

pulim

総合スコア15

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2020/03/25 01:32

Excelで結合しているセルに写真のサイズに合わせて自動調節するマクロを組みたいと考えているのですが、結合セルの大きさ(縦横の長さ)をうまく設定できないため、まずは1枚手動で調節して大きさを決めてから、位置をマクロで調節しています。
これらの動作を一度にやる方法はありませんでしょうか。

また、結合セルなので、上下の位置設定もうまくできず、望ましい位置になるまで、数値をずらして調整している状態です。

ご指摘お願いいたします。

Sub 画像挿入() Dim rng As Range Set rng = ActiveCell ActiveSheet.Paste With Selection .ShapeRange.LockAspectRatio = False .Placement = xlMoveAndSize .Width = 196.255676 '予め取得した数値を記入 .Height = 168.841888 '予め取得した数値を記入 .Left = rng.Left + (rng.Width - .Width) / 2 .Top = rng.Top + (rng.Height) / 2 'セルの大きさにより、分母を修正 End With End Sub

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

結合セルにおさめるだけなら下記で大丈夫ですが、
縦横比は固定しなくていいでしょうか?
位置設定はどのようなものを意図しておられますか?

VBA

1Sub 画像挿入() 2Dim rng As Range 3Set rng = ActiveCell 4ActiveSheet.Paste 5With Selection 6 .ShapeRange.LockAspectRatio = False 7 .Placement = xlMoveAndSize 8 9 .Width = rng.MergeArea.Width 10 .Height = rng.MergeArea.Height 11 12End With 13End Sub 14

WidthとHeightに0.99をかけて99%にしています。
マイナスにしたり数値はお好みで。

VBA

1Sub 画像挿入() 2Dim rng As Range 3Set rng = ActiveCell 4ActiveSheet.Paste 5With Selection 6 7 .ShapeRange.LockAspectRatio = False 8 .Placement = xlMoveAndSize 9 10 .Width = rng.MergeArea.Width * 0.99 11 .Height = rng.MergeArea.Height * 0.99 12 13 .Left = rng.MergeArea.Left + (rng.MergeArea.Width - .Width) / 2 14 .Top = rng.MergeArea.Top + (rng.MergeArea.Height - .Height) / 2 15 16End With 17End Sub

投稿2020/03/25 03:40

編集2020/03/25 04:22
radames1000

総合スコア1923

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pulim

2020/03/25 04:06

回答ありがとうございます。 位置設定につきましては、Activecellの中央に配置するようにしたいと考えています。 また、サイズにつきまして、罫線の内側に入るギリギリのサイズが望ましいのですが、示されているコードに-数字をして調節する方法でよろしいでしょうか。 追記してしまい、申し訳ございませんが、よろしくお願いいたします。
pulim

2020/03/25 07:37

ありがとうございます。非常に助かりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問