• ベストアンサー

範囲のあるセルに画像(jpg)を貼り付けたい。

tom04の回答

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

こんばんは! 横からお邪魔します。 >vbaでのコードです というコトですので、一例です。 画像(jpgとしています)の保存場所からA1:D5セルの範囲に配置してみました。 Sub 画像挿入() Dim myRng As Range Dim myPath As String, fN As String Set myRng = Range("A1:D5") '←配置するセル範囲 myPath = "保存場所\" '←保存場所のパス★ fN = "○○.jpg" '←ファイル名★ With ActiveSheet.Pictures.Insert(myPath & fN).ShapeRange .LockAspectRatio = msoFalse .Left = myRng.Left .Top = myRng.Top .Width = myRng.Width .Height = myRng.Height End With End Sub ※ コード内の「パス」と「ファイル名」は挿入したい画像のプロパティから 実際のパス・ファイル名にしてください。 こんな感じではどうでしょうか?m(_ _)m

nagahaha
質問者

お礼

早速有り難うございました。 狙ったことが完璧に出来ました。 コレで、コレをベースに拡張が出来ます。 助かりました。 お世話になりました。

関連するQ&A

  • エクセルの範囲セルの範囲セルについて

    ExcelVBAで、ある範囲のセルを基準として、その範囲の中の範囲を表したい のですが、どうすればよいのでしょうか? 以下のセルで、A1:D2の範囲を使ってA2からD2の範囲を表す方法です。 A1 B1 C1 D1 A2 B2 C2 D2 A2のセルはRange("A1:D2").Cells(2,1)で表すように Range("A2:D2")でなく、Range("A1:D2")を使ってA2からD2の範囲を表す方法が知りたいです。

  • エクセルに画像を貼り付けるとセルにあわせたサイズにしかならず、大きさ調整すると形が変わってしまう

    エクセルシートにJPG形式の画像を貼り付けるのですが「挿入」-「ファイルから選択」でとりあえず配置した後、希望の大きさにマウスで調整しようとするのですが、セルにあわせたサイズにしかならず、画像の右下のハンドルでドラッグしても、元の形と変形してしまいます。 元通りの縦横比で貼り付けるにはどうすればいいのでしょうか。 画像の書式プロパティーを見ても縦横比を固定するにチェックが入っているのに数式バーのところに**%X**%と表示され、どんどん縦横比が変わってしまいます。 以前はちゃんとできており、また以前に作成したファイルを開いていじってみてもちゃんと縦横比固定されたまま変形できます。 急におかしくなってしまいました。しいて以前との違いをあげるとすると以前は大文字のJPG拡張子がついてた画像を貼り付けてたのを今回はなぜか小文字のjpg 拡張子になってる画像を貼り付けようとしているくらいでしょうか。 ちなみにエクセルは2003です

  • エクセルVBA・一定の条件でセルを選択したい

    エクセルVBA・一定の条件でセルを選択したい 添付した画像で、毎日、社員番号等が入力されます。 D列の内線番号は空白の場合もありますがA、B、C列は必ず入力されます。 添付画像だと「A1:D5」という具合に選択したいのです。 考え方としては、A列の*行に入力された場合は、「A1:D*」を選択するという具合になるかと思います。 私の目的は、セル範囲を選択したあと、並べ替えたいと考えています。 この並べ替えは自動記録でできそうです。 よろしくお願いします。

  • 画像の縦横比とプリント

    私、先日デジタルカメラを購入しました。 画像サイズを見ると、3008×2000ピクセルとなっています。 縦横比の変更は出来ないようです。 ということはA4の用紙にプリントする場合、縦横比にズレが生じてしまいますよね。 この場合画像の一部がカットされてしまいますよね。 みなさん、プリントに際して、どのような方法でこの縦横比の ズレに対応されておりますでしょうか。 ご教示くだされば助かりますです。

  • 画像を結合セルの大きさで貼付(以前に回答されたマクロについて)

    以前、下記ページで回答(公開)されていたマクロについてなのですが、 私に一番あっているので使わせて頂きたいと思っています。 http://oshiete.homes.jp/qa2300268.html その中で、貼付画像サイズが「縦横比維持」に設定されています。 画像を選択した結合セルの大きさで貼付るには、どこを、どのように修正すればいいのでしょうか? 宜しくお願い致します。m(_ _)m

  • マクロのセルの範囲指定

    お世話になります。マクロ初心者です。エクセルの業務でマクロを作成しようとしているのですが、マクロ実行で、セルの範囲が指定される方法はありますか?例えば シート名  開始  終了  Sheet1   A1  D10 を入力して、ボタンを押したらA1からD10までのセルが選択されることです。説明不足ですみません。宜しくお願いします。

  • VBA、セルの選択範囲について

    下記のような表を用意し、   A   B  C  D  E 1    1月 2月 3月 合計 2 Aさん 1  2  3  6 3 Bさん 1  2  3  6 4 Cさん 1  2  3  6 5 合 計 3  6  9  18 セルの範囲選択を指定し別シートの任意のセルへコピーをVBAで行いたいのですが、 Aさん、Bさん、Cさんという範囲を選択する為に、合計という文字は含みたくないので、 Range("A2").Select Range(Selection, Selection.End(xlDown).Offset(-1)).Select と記載し、これは出来ました。 同様に、 1月、2月、3月という範囲も同様にxlToRightを使用し選択出来ました。 Range("B1").Select Range(Selection.End(xlToRight).Offset(, -1), Selection).Select しかし、B2:D4の範囲の指定の仕方がわかりませんでした。 データのレコード数は一定ではないのでB2:D4というように範囲を指定する事は出来ません。 そのときに応じてDさん、Eさんと増えたり、4月、5月と増えたりするので。 何か方法があればご指導お願いします。

  • Excelのセル内容から画像を作りたい

    ・Excelで、範囲[A1:J10]の各セルに「a」~「d」の文字が入っている ・「a.bmp」~「d.bmp」の同じサイズの画像がある この状態から、[A1:J10]の内容に従い画像を並べた後、1枚の画像として保存したいです。 どのような方法を取ればよろしいでしょうか。 範囲は複数あるので、PrintScreen→トリミングという作業は手間がかかるので、 それ以外の方法で有効な方法があれば教えてください。

  • ExcelVBA:セルの範囲を指定し、線を引く方法

    プログラムでセルの範囲を指定し、線を引きたいのですが、マクロでやった結果うまくいったのですが、自分でプログラムを作るとセルの範囲を選択するときに違った動作をしてしまいます。 下のコードはセルAの線、Bの線、……、と線を引くために範囲を選択しているのですが、この部分の選択範囲がおかしくなってしまいます。 Range("A:A,B:B,C:C,D:D,E:E,F:F,G:G,G:G").Select With Selection.Borders(xlEdgeRight) .LineStyle = xlContinuous End With 一回一回範囲を指定し、線を引く方法もありますが、どのように対処すればよいでしょうか? 回答よろしくお願いします。

  • excelvbaでセルの範囲について

    Sub Macro2() Sheets("売上まとめ").Select '選べる範囲を指定  Set myRng9 = Range("B2:B15") '選択した範囲を myRng1に割り当てる Set myRng1 = Application.InputBox("全部は選択しないで下さい", "必要売上を「B2:B15」から選択", Selection.Address, Type:=8) myRng1.Resize(1, 2).Offset(0, -1).Select  皆様どうかよろしくお願いいたします。 まずB2セルからB15セルの間に数字が入力されています。 上から下に向けて続けて数字が入力されていますが 下の方は空白の場合があります。 (例 B2からB10は入力あり。B11からB15は空白) まず、インプットボックスで数字が入力されている範囲を B2セルから下方向に操作者に選択させます。 (例えばB2からB7まで。) この範囲をmyRng1としています。 目標として選んだ範囲を1列左に拡張させて 選択させたいのですが、 (例 B2だけ    を選択していたらA2からB2まで    B2からB8まで を選択していたらA2からB8まで) その部分を現在 こう記述しております。 myRng1.Resize(1, 2).Offset(0, -1).Select  単一セルだけを選択している場合は キチンと左方向に拡張させて選択できるのですが (例 B2だけ    を選択していたらA2からB2まで) 複数範囲を選択している場合でも同じ結果になってしまいます。 例 B2からB8まで を選択していてもA2からB2まで) どうかよろしくご指導お願いいたします。