![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルマクロでアニメを作る方法を教えてください。 1 2023/02/07 14:27
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Excel(エクセル) ある数値に対して、値を返す数式についてです 2 2022/09/13 22:06
- Excel(エクセル) エクセルのマクロで複数条件に当てはまるものを全て抽出したいです 7 2022/05/21 08:51
- Visual Basic(VBA) 【VBA】写真の縦横比を変えずに貼り付ける 5 2023/06/13 11:42
- フリーソフト 倍率自動調整して全画面表示できるフリーの画像ビューアー 1 2023/08/24 10:55
- Visual Basic(VBA) 【VBA】データを入力後に,同一シート内に履歴として転記するVBAコードを教えていただきたいです。 3 2022/11/16 01:37
- Excel(エクセル) エクセルで複数設定したハイパーリンク先を、どれを選んでも画面の左上に来るようにしたいのですが・・・ 3 2022/04/07 16:15
- Illustrator(イラストレーター) ペイントでサイズを小さくする 5 2023/06/17 10:33
- Visual Basic(VBA) ExcelのVBAを使い、複数シートの同一箇所を、同一条件にて一括でソルバーを回す方法について 1 2022/04/23 11:49
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
VBAエクセルに貼り付けた画像をセルにあった大きさにしたい(等倍)
Excel(エクセル)
-
【VBA】写真の縦横比を変えずに貼り付ける
Visual Basic(VBA)
-
エクセルマクロでシート内にある画像のみを選択する
Excel(エクセル)
-
-
4
Excel VBAでセル内の画像を選択したい
Excel(エクセル)
-
5
エクセルVBAで画像を貼り付ける座標設定方法は?
PowerPoint(パワーポイント)
-
6
EXCEL VBAで画像をトリミング
その他(Microsoft Office)
-
7
エクセル(2013)VBA-図の縦横比を変えずにセルにおさまる最大限の大きさにする
Excel(エクセル)
-
8
【EXCEL VBA】ダブルクリックでセルのサイズに合わせて画像を挿入に機能を追加したいです。
Visual Basic(VBA)
-
9
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
10
エクセルに画像を貼付け縮小する作業をマクロにしたいのですが、
Excel(エクセル)
-
11
Excelに貼り付けた画像を圧縮するマクロについて
Visual Basic(VBA)
-
12
Excel 画像貼り付けのVBAについて
Excel(エクセル)
-
13
エクセルVBAで縦向きの画像の挿入・回転
Excel(エクセル)
-
14
ExcelのVBAで画像読込→サイズ変更がしたい。
Excel(エクセル)
-
15
エクセルマクロでダブルクリックして画像貼り付けでサイズ設定したいです。
Excel(エクセル)
-
16
任意フォルダから画像をすべてエクセルの指定マスに貼り付けをしたい
Visual Basic(VBA)
-
17
マウスで選択した図形のみVBAで移動したい。
Visual Basic(VBA)
-
18
エクセルVBA 画像を貼り付けるセル位置を指定する方法
Excel(エクセル)
-
19
エクセル 画像のプロパティで縦横比を固定する。 これをVBAでコードにできますか? 知ってる方おられ
Visual Basic(VBA)
-
20
EXCELのVBAで画像を選んだ順に貼り付ける方法
Excel(エクセル)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelで数式内の文字色を一部だ...
-
対象セル内(複数)が埋まった...
-
エクセルで指定したセルのどれ...
-
エクセル 足して割る
-
エクセル “13ヶ月”を“1年1ヶ月...
-
Excelでのコメント表示位置
-
excelのCOUNTIF関数で、『範囲=...
-
エクセルの一つのセルに複数の...
-
【Excel】 セルの色での判断は...
-
貼り付けで複数セルに貼り付けたい
-
【エクセル】IF関数 Aまたは...
-
EXCEL VBA セルに既に入...
-
エクセルのセルの枠を超えて文...
-
複数のセルのいずれかに数字が...
-
枠に収まらない文字を非表示に...
-
セルの高さ(行高)を求めるには?
-
セルをクリック⇒そのセルに入力...
-
Excel2003 の『コメント』の編...
-
EXCELのセルの中の半角カンマの...
-
Excelで教えてください。 バー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで指定したセルのどれ...
-
【エクセル】IF関数 Aまたは...
-
セルをクリック⇒そのセルに入力...
-
Excelで数式内の文字色を一部だ...
-
エクセル 足して割る
-
対象セル内(複数)が埋まった...
-
貼り付けで複数セルに貼り付けたい
-
Excelでのコメント表示位置
-
エクセルのセルの枠を超えて文...
-
エクセル オートフィルタで絞...
-
エクセルの一つのセルに複数の...
-
EXCEL VBA セルに既に入...
-
【Excel】 セルの色での判断は...
-
(Excel)数字記入セルの数値の後...
-
エクセル “13ヶ月”を“1年1ヶ月...
-
excelのCOUNTIF関数で、『範囲=...
-
Excel2003 の『コメント』の編...
-
枠に収まらない文字を非表示に...
-
Excelで住所を2つ(町名迄と番...
-
複数のセルのいずれかに数字が...
おすすめ情報