エクセル貼り付けた画像をセルにあった大きさにしたいのですが、
その際、縦と横の比率を変更したくありません。
縦と横の比率を変更せず、セルにおさまる最大の大きさで画像のサイズを
変えることは可能でしょうか。
-----------------------------------------------------------------------------
縦と横の比率が関係なく、セルいっぱいのサイズに画像の大きさを変更するVBAは
下記URLから見つけられたのですが、、、、、
http://q.hatena.ne.jp/1240648036
No.2ベストアンサー
- 回答日時:
No.1です。
>画像が置いてあるセル上で処理を行う
画像のどこを基準にするか?によってコードは変わってきますが、
画像の左上端のセルにその画像を縦・もしくは横いっぱいに配置するコードにしてみました。
Sub Sample2()
Dim mySp As Shape, myRng As Range
Dim myHgt As Double, myWdt As Double
For Each mySp In ActiveSheet.Shapes
With mySp
Set myRng = .TopLeftCell
myHgt = myRng.Height
myWdt = myRng.Width
.Top = myRng.Top
.Left = myRng.Left
.Height = myHgt
If .Width > myWdt Then
.Width = myWdt
End If
End With
Next mySp
End Sub
こんな感じではどうでしょうか?m(_ _)m
基点などの考えが及ばず申し訳ありません、
>画像の左上端のセル
はい、こちらがやりたかったことでした!汲んで頂いて本当にありがとうございます!!
今までの作業がとても効率的になりますし、本当に嬉しいです!!!
ありがとうございました!!!!!神様です!!
No.1
- 回答日時:
こんばんは!
縦横固定は考えず、画像の縦・もしくは横がセルいっぱいに収まればよい!
という考え方のコードです。
A1セルからA列に順にセル内の収まるようにしてみました。
仮にアクティブSheet上に画像が5個あればA1~A5セル内に画像が収まるはずです。
Sub Sample1()
Dim cnt As Long, mySp As Shape
Dim myHgt As Double, myWdt As Double
Dim myRH As Double, myRW As Double
For Each mySp In ActiveSheet.Shapes
cnt = cnt + 1
myHgt = mySp.Height
myWdt = mySp.Width
myRH = Cells(cnt, "A").Height
myRW = Cells(cnt, "A").Width
With mySp
.Left = Cells(cnt, "A").Left
.Top = Cells(cnt, "A").Top
.Height = myRH '//一旦画像の高さをセルの高さに合わせる
'//▼ 画像がセル幅より大きい場合はセル幅に合わせる
If .Width > myRW Then
.Width = myRW
End If
End With
Next mySp
End Sub
こんな感じではどうでしょうか?m(_ _)m
ありがとうございます!!!
画像が奇麗なままでぴったりと収まりました!!
こちら、画像が置いてあるセル上で処理を行う(A列に並べない)場合は
どのようにすればよいでしょうか。説明が足りておらず申し訳ありません。。。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
ちょっと先の未来クイズ第2問
9月9日(月)に発表される「第3回子どもマネー川柳」に入賞する川柳を考えてこちらに投稿してください。
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
【VBA】写真の縦横比を変えずに貼り付ける
Visual Basic(VBA)
-
【EXCEL VBA】ダブルクリックでセルのサイズに合わせて画像を挿入に機能を追加したいです。
Visual Basic(VBA)
-
エクセルVBAで縦向きの画像の挿入・回転
Excel(エクセル)
-
-
4
VBAでエクセルのシート上の画像のリサイズと配置を行いたい
Excel(エクセル)
-
5
エクセル(2013)VBA-図の縦横比を変えずにセルにおさまる最大限の大きさにする
Excel(エクセル)
-
6
Excel VBAでセル内の画像を選択したい
Excel(エクセル)
-
7
VBA Shapes コピーと名前
Excel(エクセル)
-
8
エクセルVBA 画像を貼り付けるセル位置を指定する方法
Excel(エクセル)
-
9
Excel 画像貼り付けのVBAについて
Excel(エクセル)
-
10
【VBA】写真の貼り付けコードがうまく機能しません。
Visual Basic(VBA)
-
11
マクロを実行すると画像がズレてしまいます
その他(Microsoft Office)
-
12
エクセルマクロでシート内にある画像のみを選択する
Excel(エクセル)
-
13
Excel2019 マクロを使用し画像を貼り付けした際のリンク切れについて
Excel(エクセル)
-
14
エクセルVBAでセル番地を指定してオブジェクト名取得
Excel(エクセル)
-
15
VBAの内容の修正をお願いさせて頂きます
Excel(エクセル)
-
16
エクセル 画像のプロパティで縦横比を固定する。 これをVBAでコードにできますか? 知ってる方おられ
Visual Basic(VBA)
-
17
Pictures.Insertメソッド⇒Shapes.AddPictureメソッドに変更したいです。
Visual Basic(VBA)
-
18
EXCEL VBAで 図形を中央寄せに関して質問です
Excel(エクセル)
-
19
複数の画像ファイルを挿入したい
Excel(エクセル)
-
20
VBA 写真の挿入 回転
その他(Microsoft Office)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelで数式内の文字色を一部だ...
-
貼り付けで複数セルに貼り付けたい
-
(Excel)数字記入セルの数値の後...
-
【エクセル】IF関数 Aまたは...
-
Excelでのコメント表示位置
-
エクセルで指定したセルのどれ...
-
エクセルの書式設定の表示形式...
-
セルをクリック⇒そのセルに入力...
-
エクセル “13ヶ月”を“1年1ヶ月...
-
Excel 例A(1+9) のように番地の...
-
【Excel】 セルの色での判断は...
-
エクセルで住所と建物名を分け...
-
セルの高さ(行高)を求めるには?
-
excelの特定のセルの隣のセル指...
-
Excel2003 の『コメント』の編...
-
エクセル オートフィルタで絞...
-
エクセル 足して割る
-
エクセルの一つのセルに複数の...
-
EXCEL VBA セルに既に入...
-
Excelで教えてください。 バー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
貼り付けで複数セルに貼り付けたい
-
【エクセル】IF関数 Aまたは...
-
Excelで数式内の文字色を一部だ...
-
エクセルで指定したセルのどれ...
-
(Excel)数字記入セルの数値の後...
-
枠に収まらない文字を非表示に...
-
セルをクリック⇒そのセルに入力...
-
Excelでのコメント表示位置
-
対象セル内(複数)が埋まった...
-
【Excel】 セルの色での判断は...
-
エクセル オートフィルタで絞...
-
エクセル “13ヶ月”を“1年1ヶ月...
-
Excel 例A(1+9) のように番地の...
-
エクセルのセルの枠を超えて文...
-
エクセル 足して割る
-
excelの特定のセルの隣のセル指...
-
エクセルの一つのセルに複数の...
-
Excel for Mac使用中ポインタが...
-
エクセルで住所と建物名を分け...
-
EXCEL VBA セルに既に入...
おすすめ情報