• ベストアンサー

マクロのことで困っています。

ペイントから切り取った画像を、エクセルに貼り付けて、貼り付けた画像のサイズを変更します。何度も画像の一部を切り取って画像のサイズを変更するので、その手間を省けたらと思います。(要するに 貼り付け→サイズ変更 をしたいのです) 一度マクロ記録で試してみたのですが、実行すると『貼り付けた画像』ではなく『マクロ記録時に選択した画像』が縮小されてしまうのです。かなりわかりづらい説明だとは思いますが、よろしくお願いします。

  • caim
  • お礼率57% (67/116)

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

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.2

本当だ! ペイントから切り取った場合、必ず左上に貼り付いて、しかもアクティブにならないですね。私はファイルから挿入した画像で試していました。 Sub Macro5() Dim shp As Shape For Each shp In ActiveSheet.Shapes  If shp.TopLeftCell.Address = "$A$1" Then   shp.Select   Selection.ShapeRange.ScaleWidth 0.4, msoFalse, msoScaleFromTopLeft   Selection.ShapeRange.ScaleHeight 0.54, msoFalse, msoScaleFromTopLeft  End If Next End Sub とするか、サイズ変更したい画像を手で選択してから Sub Macro6()  Selection.ShapeRange.ScaleWidth 0.4, msoFalse, msoScaleFromTopLeft  Selection.ShapeRange.ScaleHeight 0.54, msoFalse, msoScaleFromTopLeft End Sub ではどうでしょうか? 後者の方が汎用的かもしれません。

caim
質問者

お礼

当初質問していたマクロよりも、zap35様が提案してくれた後者のマクロのほうが私にとっては便利なのでとってもよかったです。 ありがとうございます。これでナントカ明日の仕事を乗り切れそうです!! 本当にありがとうございました。<(_ _)>

その他の回答 (1)

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

どのような自動記録マクロかを書いていただけたら簡単なのですが、 おそらく貼り付け→サイズ変更を連続して行わなず、一旦図形を手で選択してしまったために ActiveSheet.Shapes("Picture 5").Select のようなPictureの固有名前を持ったマクロができてしまったのではないでしょうか。これだと質問のような現象になることが考えられます。 貼り付け→サイズ変更を連続して行った場合は Sub Macro4()  ActiveSheet.Paste  Selection.ShapeRange.ScaleWidth 0.66, msoFalse, msoScaleFromTopLeft  Selection.ShapeRange.ScaleHeight 0.67, msoFalse, msoScaleFromTopLeft End Sub のようなマクロができるはずです。貼り付け直後は貼り付けた画像が選択された状態になりますから、このマクロなら「貼り付けた画像」をサイズ変更できます。 問題のマクロを補足欄に掲載するか、「貼り付け→サイズ変更を連続して行って」マクロを再度作成してみて下さい

caim
質問者

補足

貼り付け直後でも貼り付けた画像が選択状態になりません。。右クリックして貼り付けをしたのですが、どうすれば貼り付けた直後にはすでに画像が選択されている状態にできますか? 本当に初歩的なことですがよろしくお願いします。 ActiveSheet.Shapes("Picture 24").Select ActiveSheet.Paste ActiveSheet.Shapes("Picture 28").Select Selection.ShapeRange.ScaleWidth 0.4, msoFalse, msoScaleFromTopLeft Selection.ShapeRange.ScaleHeight 0.54, msoFalse, msoScaleFromTopLeft こんな感じなのですが、どうすればいいのでしょうか? 聞いてばかりですみません。

関連するQ&A

  • マクロを利用したグラフ編集

    マクロの初心者です。 エクセルで作成したグラフを画像として保存させたいのですが、うまくいきません。 マクロの記録開始→グラフのコピー→ 別シートにグラフを貼り付け→グラフを切り取る→ 形式を選択して貼り付け(図)→ 図の大きさを変更(図のプロパティから) →マクロの記録終了 こんな感じでマクロを組んだのですが、エラーが出て上手く実行できません。 私の感じでは図の大きさの変更が上手く記録できていないような気がします。 マクロ編集で書かれているような言語は全くわからないので、上記のような方法で上手く記録させることはできないでしょうか? できないのであれば、グラフの大きさを変更できるような言語の書き方を伝授ください。

  • エクセル20007で旧バージョンのマクロが一部動作しない

    エクセル2000で作成したマクロを、2007で使うと、一部動作しなくて困っています。 具体的には、シートに貼り付けた画像を選択した状態で、Selection.Cutが出来ないんです。 2007でマクロ記録を取ってみても、画像を切り取る動作は、Selection.Cutと記録されるのですが・・・ ちなみに、同じ行を、Selection.Copyにしてみると同様にエラーで、Selection.Deleteにしてみると、選択している画像は削除されます。 2007でクリップボートの仕様が変わったんでしょうか。 この問題は、エクセルに写真を貼り付けると、ファイルサイズが大きくなるので、貼り付けた画像を、一度切り取って、jpeg形式で貼り付けし直すという流れのマクロの中の、画像を切り取る部分で発生しいます。 何かいい方法はないでしょうか。

  • マクロがコードに記録されない

     今晩は、宜しくお願いします。  エクセルのシートに写真を取り込んで、「ある大きさにサイズ変更 ⇒ 同じ大きさのセルに 移動させる」を「マクロの記録 ⇒ マクロの終了」でマクロを作成し、別のシートでも実行させ たいのです。  実は、あるエクセルファイルでは、うまく実行出来たのですが、今日、同じやり方で、別のエ クセルファイルでマクロを作成しましたが、マクロが全く実行されません。  「マクロ ⇒ 編集」からマクロコードを見ても、あるサイズに変更するところのマクロコードが 記録されていません。  これは何故でしょうか。  また、「相対参照で記録」というオプションがありますが、これが何らかの関係があるのでしょ うか。  どうしても理由がわかりません、以上、宜しくお願いいたします。

  • エクセルのマクロについて教えて下さい

    エクセルで、データ(書類)のコピー貼り付けのマクロを組みました。 ツール→マクロで、新しいマクロの記録から、実際にコピーをして貼り付けをし、記録の終了をしました。 次に他のセルの場所でもそのマクロを実行して、何度も場所を変えてコピー貼り付けを実行したいのですが、操作用のボタンを作成して貼り付け、ボタンを押すと、同じ場所でコピー貼り付けを繰り返します。 たしか絶対参照とか相対参照とかあったような気がするのですが…。 どうすれば、他の場所でもボタンを押すだけでコピー貼り付けのマクロを実行できるようになりますか? よろしくお願いします。

  • エクセルマクロ画像挿入について

    はじめまして。 マクロ全くの初心者です。 詳しい方、優しく教えていたたげると幸いです。 エクセル2010または2013でマクロを作成したいと思っています。今までマクロの作成は自動保存?マクロ記録→マクロ記録終了のボタンを使って条件付き書式等しか作成したことがありません。 今回は ピクチャの中のデジカメの画像を、選択したセルに挿入し、サイズを変更したいです。 他社から送られてきたデータにマクロが設定してあり、そのようにしたいです。 挿入したいセルをクリック→マクロの設定されているボタンをクリック→ピクチャが開く→挿入したい画像を選択→選択したセルに画像が挿入され同時にサイズも変更される 自分で少しやってみたのですが、画像を選べません(記録した時の画像が挿入されてしまう)。 ボタンの挿入方法は大丈夫です。 他の方の質問も参考にしたのですがうまくいかなくて、、、どうしたらいいかわかりません。 是非ご教授ください。 よろしくお願い致します。

  • Xpでのペイントの設定について

    どうしてもペイントでなければいけないのではなく、元サイズが不ぞろいな画像を全て同一サイズに変更したいのですが。 同一サイズに変更といっても拡大縮小をして・・・ではなく、画像の不必要な部分を切り捨てて、必要な部分を同一サイズで揃えたいのです。以前は98のペイントで出来ていたのですが、Xpに切り替えてから出来なくなってしまったので・・・ 以前使っていた98ではペイントで、まず画像サイズを決めてから、画像を貼り付けると「描画領域よりも大きな画像を貼り付けようとしています。領域を拡張しますか?」といったようなメッセージが表示され、画像サイズを大きくするかどうかを選択できたので、まずサイズを設定してそこに貼り付けて・・・と出来たのですが、今使っているXPでは貼り付けをすると自動的に貼り付ける画像サイズに合わせて描画領域が拡張されてしまうため、いちいちサイズを変更しなおさないといけません。 貼り付け時に描画領域を変更するか否かを選択できるようにはならないのでしょうか? それが無理なら、こういう画像編集に向いているフリーソフトを紹介してください!!! よろしくお願いします。

  • ボタンやグラフィック コントロールを使ってマクロを実行する

    エクセル2000でボタンやグラフィック コントロールを使ってマクロを実行しようと思っています。 マクロを記録した後、ボタンを作成し、選択した状態で、サイズ変更ハンドル上で右クリックすると、マクロの登録がショートメニューで表示されると書いてあるのですが、表示されません。 どうしてでしょうか。 どうしたら、マクロの登録ができるのでしょうか。教えてください。

  • Excel データ切り出しマクロについて

    Excelのマクロについてお聞きしたいと思います. たくさんあるテキストファイルの一部を切り取って貼り付けたい場合は どうしたらいいのでしょういか? マクロではない流れとしては テキストファイルを開く ↓ 全選択してコピー ↓ Excelに貼り付ける ↓ 必要な部分だけ切り取る ↓ 貼り付け データの例としては A 12.3 78.5 B 13.5 65.5 C 23.5 65.8 とあるとしたら一番右側の列のデータのみ(78.5,65.5,65.8) だけ必要とします(切り取りたい部分) どのようなマクロを組んだらいいのでしょうか? よろしくお願いいたします.. マクロ実行時にファイルを選択できる機能もつけていただけたら 嬉しいです. できましたら全コードを載せていただけたら幸いです.

  • エクセル、アクティブになると画像を貼り付け→セル移動→最小化するマクロ

    画像を定期的にエクセルに保存する作業をしています。 現在手動で別アプリケーションから画像をctrl+c→ エクセルをアクティブに→特定のセルを選択→貼り付け→エクセルウィンドウを最小化 を繰り返しているのでこれを自動化したいのですがVBを数年触ってなかったので作り方を完全に忘れてしまいました。 マクロの記録で最小化やペーストのコードは分かったんですが、「エクセルがアクティブになったら実行」と「一定のセルなら別のセルへ」等の条件の書き方はどんな感じだったでしょうか?

  • エクセルへ画像貼り付けでのファイルサイズの落とし方

    エクセルでデジカメ写真を貼り付ける際、画像のサイズを落としてから貼り付けているにもかかわらず、エクセルのファイルサイズが大きくなってしまいます。 貼り付け方は以下の通りですが、何かやり方が良くなかったり、他に対策があればご教示願います。 使用OSはWINDOWS XP、エクセルのバージョンは2007です。 貼り付け方 1.デジカメ写真をPCに取り込み、画像サイズを落とすソフト「縮小専用」で1枚40kb程度に縮小 2.マイクロソフトの「ペイント」で画像を開き、コピー 3.エクセル上で「形式を選択して貼り付け」 1枚あたり40kbなのに30枚程貼り付けるとファイルサイズが30Mbになってしまいました。 あまり多く画像を貼り付けず、ファイルを分ける等した方が良いのでしょうか?

専門家に質問してみよう