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も見ています
-
餃子を食べるとき、何をつけますか?
みんな大好き餃子。 ふと素朴な疑問ですが、餃子には何をつけて食べますか? 王道は醤油とお酢でしょうか。
-
大人になっても苦手な食べ物、ありますか?
大人になっても、我慢してもどうしても食べれないほど苦手なものってありますよね。 あなたにとっての今でもどうしても苦手なものはなんですか?
-
「覚え間違い」を教えてください!
私はかなり長いこと「大団円」ということばを、たくさんの団員が祝ってくれるイメージで「大円団」だと間違えて覚えていました。
-
いけず言葉しりとり
はんなりと心にダメージを与える「いけず言葉」でしりとりをしましょう。 「あ」あら〜しゃれた服着てはりますな 遠くからでもわかりましたわ
-
お風呂の温度、何℃にしてますか?
みなさん、家のお風呂って何℃で入ってますか? ぬるめのお湯にゆったり…という方もいれば、熱いのが好き!という方もいるかと思います。 我が家は平均的(?)な42℃設定なのですが、みなさんのご家庭では何℃に設定していますか?
-
【VBA】写真の縦横比を変えずに貼り付ける
Visual Basic(VBA)
-
VBAエクセルに貼り付けた画像をセルにあった大きさにしたい(等倍)
Excel(エクセル)
-
エクセルマクロでシート内にある画像のみを選択する
Excel(エクセル)
-
-
4
エクセル(2013)VBA-図の縦横比を変えずにセルにおさまる最大限の大きさにする
Excel(エクセル)
-
5
エクセルVBAで縦向きの画像の挿入・回転
Excel(エクセル)
-
6
Excel 画像貼り付けのVBAについて
Excel(エクセル)
-
7
エクセルVBA 画像を貼り付けるセル位置を指定する方法
Excel(エクセル)
-
8
VBAでセルを指定した画像のコピー&ペーストを繰り返したい
Excel(エクセル)
-
9
エクセルに画像を貼付け縮小する作業をマクロにしたいのですが、
Excel(エクセル)
-
10
エクセルvbaでの図形のカット(コピー)ペーストについて
Excel(エクセル)
-
11
【VBA】写真の貼り付けコードがうまく機能しません。
Visual Basic(VBA)
-
12
複数の画像ファイルを挿入したい
Excel(エクセル)
-
13
画像を削除したい(VBA)
Word(ワード)
-
14
ファイル名を今日の日付、時刻で保存する
Visual Basic(VBA)
-
15
Excelマクロ 選択画像の大きさを100%に
その他(Microsoft Office)
-
16
VBA Shapes コピーと名前
Excel(エクセル)
-
17
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
18
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
19
エクセルVBAでセル番地を指定してオブジェクト名取得
Excel(エクセル)
-
20
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【エクセル】IF関数 Aまたは...
-
セルをクリック⇒そのセルに入力...
-
枠に収まらない文字を非表示に...
-
Excelで数式内の文字色を一部だ...
-
エクセルで指定したセルのどれ...
-
エクセル オートフィルタで絞...
-
貼り付けで複数セルに貼り付けたい
-
Excelでのコメント表示位置
-
エクセルの一つのセルに複数の...
-
(Excel)数字記入セルの数値の後...
-
対象セル内(複数)が埋まった...
-
excelの特定のセルの隣のセル指...
-
エクセル “13ヶ月”を“1年1ヶ月...
-
ハイパーリンクの参照セルのズ...
-
【Excel】 セルの色での判断は...
-
Excel 例A(1+9) のように番地の...
-
エクセルで縦に1112223...
-
文字列として"(ダブルコーテー...
-
エクセルのセルの枠を超えて文...
-
エクセルの書式設定の表示形式...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
貼り付けで複数セルに貼り付けたい
-
Excelで数式内の文字色を一部だ...
-
【エクセル】IF関数 Aまたは...
-
エクセルで指定したセルのどれ...
-
(Excel)数字記入セルの数値の後...
-
エクセルの一つのセルに複数の...
-
セルをクリック⇒そのセルに入力...
-
Excel 例A(1+9) のように番地の...
-
対象セル内(複数)が埋まった...
-
枠に収まらない文字を非表示に...
-
Excelでのコメント表示位置
-
【Excel】 セルの色での判断は...
-
エクセルの書式設定の表示形式...
-
エクセル オートフィルタで絞...
-
エクセル 足して割る
-
エクセルのセルの枠を超えて文...
-
エクセル “13ヶ月”を“1年1ヶ月...
-
EXCEL VBA セルに既に入...
-
Excel2003 の『コメント』の編...
-
数式を残したまま、別のセルに...
おすすめ情報