• ベストアンサー

エクセルに張り付けている画像をVBAで指定の範囲を削除し、画像サイズを

エクセルに張り付けている画像をVBAで指定の範囲を削除し、画像サイズを変更させることは可能でしょうか?似たように情報は見ましたが、どれも上手くいかずに困っています。具体的には、縦1000×横1200の画像があります。(上50、下80、左150、右200)を削除し、縦870×横850の画像にし、さらに90%にサイズをトリミングし、縦435×横425としたいのです。これをVBAで一発で行う方法があれば教えて下さい。また、同じシート、異なるシートに複数の画像があった場合、全てを同時にできましたらなお良いです。以上、宜しくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • hige_082
  • ベストアンサー率50% (379/747)
回答No.2

#1です >あと、できればシートを指定したいのですが・・・ う~ん >また、同じシート、異なるシートに複数の画像があった場合・・・ 質問もそうですが、やりたいことだけ書かれてもね なのに、シート選択に関しては曖昧 なぜこう言う処理が必要なのかが分らなければ こちらから、アドバイスも???なのですが どういう条件か、どのようにしてシートを選択したいのかが 分らなければ、回答の仕様もないよ まぁ、選択方法がわからないので、シートを表示し処理するかしないか 聞いてくるので選んでください Sub test() Dim myPic As Picture Dim myWS As Worksheet For Each myWS In Worksheets myWS.Activate If MsgBox(myWS.Name & " を処理しますか?", vbYesNo) = vbYes Then For Each myPic In myWS.Pictures With myPic .ShapeRange.PictureFormat.CropTop = 50# .ShapeRange.PictureFormat.CropBottom = 80# .ShapeRange.PictureFormat.CropRight = 200# .ShapeRange.PictureFormat.CropLeft = 150# .ShapeRange.LockAspectRatio = msoFalse .ShapeRange.Height = 435# .ShapeRange.Width = 425# End With Next End If Next End Sub 参考まで

akshi_kiseki
質問者

お礼

解決しました。 とても助かりました お礼が遅れ申し訳ありません。

その他の回答 (1)

  • hige_082
  • ベストアンサー率50% (379/747)
回答No.1

指定範囲って何処? 画像のサイズ変更のみ Sub test() Dim myPic As Picture Dim myWS As Worksheet For Each myWS In Worksheets For Each myPic In myWS.Pictures With myPic .ShapeRange.PictureFormat.CropTop = 50# .ShapeRange.PictureFormat.CropBottom = 80# .ShapeRange.PictureFormat.CropRight = 200# .ShapeRange.PictureFormat.CropLeft = 150# .ShapeRange.LockAspectRatio = msoFalse .ShapeRange.Height = 435# .ShapeRange.Width = 425# End With Next Next End Sub 参考まで

akshi_kiseki
質問者

補足

ありがとうございます。イメージ通りです。指定範囲は文章の中で書いていた、左200とかのことでした。あと、できればシートを指定したいのですがどうすればいいでしょうか?宜しくお願いいたします。

関連するQ&A

  • セル範囲と図形を指定してVBAで削除するには?

    エクセルで一枚のシートに複数のオートシェイプ(○、△、□)を使用したものがあります。 オートシェイプを使用しているセルの範囲は(A1:G20)と(AP1:AX20)の二箇所なのですが、 VBAで(A1:G20)の範囲にあるオートシェイプ(○のみ)を削除する事はできますか? (A1:G20)の範囲にあるオートシェイプは全体がこのセル範囲に入っています。 手動で、オブジェクトの選択で範囲指定をした後削除という方法もあるのですが この削除の作業の前後に他のVBAを使用しているので、 VBAで削除が出来ればと思います。 いろいろ検索したのですが、セル範囲もしくは図形のいずれかを指定して 削除する方法はあったのですが、両方を指定してのVBAがわかりませんでした。 よろしくお願いいたします。

  • VBA 編集可能な範囲の指定につけたタイトル

    ExcelのVBAでマクロを組んでいます。編集可能な範囲指定で、AllowEditRangesというのがありますよね。複数シートにAllowEditRangesで同じ範囲、同じタイトルで指定したとき、最初につけたタイトルに”_1”という文字が後ろについてしまいます。 この範囲は作業を終了したときに削除したいので、AllowEditRanges("編集可能範囲").Deleteとしても、削除できないシートがあるので調べてみると、タイトルが"編集可能範囲_1"となっているのです。編集可能とする範囲を複数作成した場合、タイトルを指定して削除したいのですが、どうやら自動的に名前が変わってしまうようです?なぜでしょう?インディックスで指定しても、それが何番目になっていて、どんな名前になっているかわからない場合はどうしたらいいのでしょう? 作業グループを作成し、ActiveWindow.SelectedSheets.Protection.AllowEditRanges(1).Delete ActiveWindow.SelectedSheets.Protection.AllowEditRanges(2).Delete これだと、インディクス2でエラーになってしまいます。なぜでしょうか?

  • 【ソフト探してます】サイズを指定して出てきた枠ガイドに合わせてトリミン

    【ソフト探してます】サイズを指定して出てきた枠ガイドに合わせてトリミング 標題のとおりなのですが、シェア、フリー問わず、こんなことができる画像ソフトはないですか。 (1) 画像サイズ(縦、横)をピクセル等でそれぞれ指定。 例:1600x1200の元画像に対し、縦800、横600としてOKボタン押下 (2) 指定したサイズの枠線(ガイドライン)が現れ。マウスを上下左右すると、枠線(ガイドライン)も動く。 例:800x600サイズのガイドラインが出てくる。集合写真などで、自分を中心に合わせる。 (3) 画像の好きなところに枠線(ガイドライン)を合わせて、マウスをクリックすると、枠線の外側がパコッとトリミングされる。 添付画像では、ユーザーインターフェイスイメージ作りました。縦横サイズを指定するダイアログと、枠線(ガイドライン)のイメージです。この状態でマウスを左クリックすると画像の壷のアヒルの顔みたいなところがトリミングされる動作です。

  • ExcelのVBAで複数の範囲を指定したいのですが

     ExcelのVBAの全くの初心者です。(PC全般については、多少はわかるつもりですが)  R1C1参照という形式を使って、複数のセル範囲を色付けするため指定するにはどのようにすれば良いのでしょうか?  例えば、アクティブセルにA25が指定されていて、A4~C7とE4~F10とI4~I8までを色付けしたいなどという場合。  色付けなどは、わかるのですが、複数の範囲指定がわからないのです。よろしくお願いします。

  • エクセルVBAで範囲指定の方法をおしえてください

    エクセルVBAで範囲指定の方法をおしえてください こんばんは。 以下のようにデータがあるとします。 222 111 333 555 888 999 454 665 222 111の文字列を含むセルから888の文字列を含むセルまでをVBAで範囲指定したいのですが 方法がわかりません。 エクセルに読み込むファイルによって目的の情報の位置が変わるため、文字列を基に範囲指定したいのです。 本当に困っていますよろしくお願いします。

  • 画像から指定サイズをトリミング

    お世話になっております。 主に、デジカメ等で撮った写真から携帯の待ち受け用にトリミングするツールを探しております。 いろいろ試してみたのですが、使いやすいものが見つかりません。 私の所望するイメージとしては 画像読み込み  ↓ 予めトリミングサイズを指定 …★  ↓ 画像上に指定したサイズのトリミングフレームが現れる (元画像上でドラッグ&ドロップにより動かすことが可能)…★  ↓ アスペクト比を保存したまま元画像の拡大・縮小可 (このときフレームは影響を受けずそのまま)…★  ↓ 拡大縮小と切り出し場所を調整し、切り出し実行 ★マークのあるところが特に望んでいる機能です。 以前のバージョンの「簡易待ち受け画像メーカー」というツールでは、これが出来た気がしたのですが、 現在のバージョンは3つ目の機能が無くなり、拡大縮小が縦方向・横方向独立になってしまっている模様でした(しかも微調整なので、大きく変更したいときは面倒?)。 もし適当なツールをご存知でしたらご教授下さい。 よろしくお願い致します。

  • PowerPoint VBA 画像のサイズ

    こんにちは。 PowerPoint2007 VBAで今選択している画像のサイズを 指定のサイズに変える方法を教えていただけないでしょうか。 出来ればコードも書いていただけると嬉しいです MSDN等調べれば出てくるかとも思ったのですが、 VBA自体をExcelで少し触った程度なので分かりませんでした。 よろしくお願いします。

  • 画像のサイズ指定

    画像のサイズ指定 エクセルのシートに画像をサイズ指定し挿入したいと思っています。 画像の書式指定を利用しサイズのタブでサイスと角度の「高さ」「巾」を指定し挿入いたしましたが、 十分の一程度のずれが生じます、正確さとしては、その程度なのでしょうか? もっと正確な挿入の仕方があるのでしょうか?ご存知な方教えてください!

  • Excel セル範囲指定

    Excel VBA で、オフセット先のセルと一つ右のセルとを範囲指定する記述方法を教えて下さい。よろしくお願いします。 Range("????????????????").Select

  • エクセルVBAで、画像の挿入をしたいと思っています。

    エクセルVBAで、画像の挿入をしたいと思っています。 シート名は左から まとめ、A、B、C、まとめ(1)、A(1)、B(1)、C(1)、まとめ(2)、A(2)、B(2)、C(2) と、あるとして、任意のフォルダの中にある画像(*.jpgが9枚)を昇順でひとつずつA、B、C、A(1)、B(1)…C(2)シート(まとめ以外のシート)の指定のセルに貼付けられないかと考えています。 画像の名前は任意で、001.jpgはA、002.jpgはB、…009.jpgはC(2)と画像は昇順に、シートは左からというルールは変わらないとして、どのようにVBAを組んでいけばよいでしょうか。 どうぞご教授お願いします。

専門家に質問してみよう