
No.1ベストアンサー
- 回答日時:
こんばんは、
参考になるか分かりませんが、サンプルです。
Sub ShapeResize()
Dim shp As Shape
Dim shpCell As Range
For Each shp In ActiveSheet.Shapes
With shp
Set shpCell = .TopLeftCell
.LockAspectRatio = msoTrue
.Height = shpCell.Height * 0.9
If .Width > shpCell.Width Then
.Width = shpCell.Width * 0.9
End If
.Left = shpCell.Left + (shpCell.Width - .Width) / 2
.Top = shpCell.Top + (shpCell.Height - .Height) / 2
End With
Set shpCell = Nothing
Next shp
End Sub
・シート上の画像全てがリサイズできる
For Each shp In ActiveSheet.Shapes
・縦横比は維持する
.LockAspectRatio = msoTrue
・画像の左上端がおさまっているセルの大きさに対して
Set shpCell = .TopLeftCell 'セルをセット
上下左右わずかに余白が生じるサイズにし、
.Height = shpCell.Height * 0.9
If .Width > shpCell.Width Then
.Width = shpCell.Width * 0.9
End If
*Shapeの大きさとセルの大きさが分からないのと比を維持する為に
セルの幅、高さの小さい方に合わせてリサイズしリサイズされた
ShapeがshpCell.Widthに収まっていない場合は、
更にshpCell.Widthでリサイズしています。
セルの中心におさめる
.Left = shpCell.Left + (shpCell.Width - .Width) / 2
.Top = shpCell.Top + (shpCell.Height - .Height) / 2
ありがとうございます!
まさに実現したい動きをしてくれるもので本当に助かりました!
それぞれのコードの働きも書いてくださったので
アレンジしたパターンが必要になった時には参考にさせていただきます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
【VBA】写真の縦横比を変えずに貼り付ける
Visual Basic(VBA)
-
エクセルマクロでシート内にある画像のみを選択する
Excel(エクセル)
-
VBAエクセルに貼り付けた画像をセルにあった大きさにしたい(等倍)
Excel(エクセル)
-
-
4
エクセルVBA 画像を貼り付けるセル位置を指定する方法
Excel(エクセル)
-
5
Excel VBAでセル内の画像を選択したい
Excel(エクセル)
-
6
VBAで特定のセルに画像があれば削除、なければ貼り付けを行いたい
Excel(エクセル)
-
7
マクロを実行すると画像がズレてしまいます
その他(Microsoft Office)
-
8
VBA Shapes コピーと名前
Excel(エクセル)
-
9
エクセル(2013)VBA-図の縦横比を変えずにセルにおさまる最大限の大きさにする
Excel(エクセル)
-
10
エクセル 画像のプロパティで縦横比を固定する。 これをVBAでコードにできますか? 知ってる方おられ
Visual Basic(VBA)
-
11
任意フォルダから画像をすべてエクセルの指定マスに貼り付けをしたい
Visual Basic(VBA)
-
12
VBA セルに合わせて移動するが、サイズ変更はしない
Visual Basic(VBA)
-
13
Excel 画像貼り付けのVBAについて
Excel(エクセル)
-
14
Excel 改ページのVBAうまくいかないです
Excel(エクセル)
-
15
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
16
エクセルVBAでセル番地を指定してオブジェクト名取得
Excel(エクセル)
-
17
画像を削除したい(VBA)
Word(ワード)
-
18
エクセルVBAでセルに入力したパスでブックを開く
Excel(エクセル)
-
19
【エクセルVBA】シェイプのサイズとセルの縦横
Excel(エクセル)
-
20
EXCELに画像を貼り付けマクロの画像大きさ調整にについて教えてください。
その他(Microsoft Office)
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
隣の枝がはみ出してきたら切ってもいい?最もやってはいけないことは?
「隣の木が越境してきて困るが、勝手に切ってはいけないと聞くし…」そう思っている方も多いだろう。実は、2023年4月1日に民法が改正され、この「越境枝」のルールが大きく変わった。 教えて!gooでも「境界から出て...
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
対象セル内(複数)が埋まった...
-
エクセル “13ヶ月”を“1年1ヶ月...
-
公共建築工事 共通仮設費率 エ...
-
貼り付けで複数セルに貼り付けたい
-
Excel2003 の『コメント』の編...
-
Excelでのコメント表示位置
-
エクセル オートフィルタで絞...
-
プリズンブレイクで有名なウェ...
-
数式を残したまま、別のセルに...
-
エクセルの書式設定の表示形式...
-
Excel for Mac使用中ポインタが...
-
エクセルで指定したセルのどれ...
-
(Excel)数字記入セルの数値の後...
-
Excelの数式について教えてくだ...
-
Excelでセルの上下にはみ出る文...
-
エクセル セルの中に縦線が入っ...
-
【エクセル】IF関数 Aまたは...
-
エクセルの一つのセルに複数の...
-
【Excel】特定の文字から文字ま...
-
エクセルで複数のデータをセミ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
貼り付けで複数セルに貼り付けたい
-
エクセルで指定したセルのどれ...
-
数式を残したまま、別のセルに...
-
Excel for Mac使用中ポインタが...
-
Excel 例A(1+9) のように番地の...
-
セルをクリック⇒そのセルに入力...
-
エクセルの書式設定の表示形式...
-
枠に収まらない文字を非表示に...
-
エクセル オートフィルタで絞...
-
対象セル内(複数)が埋まった...
-
【エクセル】IF関数 Aまたは...
-
(Excel)数字記入セルの数値の後...
-
エクセルのセルの枠を超えて文...
-
EXCEL VBA セルに既に入...
-
Excelでのコメント表示位置
-
公共建築工事 共通仮設費率 エ...
-
Excelで数式内の文字色を一部だ...
-
Excelで教えてください。 バー...
-
エクセルの一つのセルに複数の...
-
Excel2003 の『コメント』の編...
おすすめ情報