
手持ちの本(4冊)やインターネットで探せなかったので、教えてください。
エクセルのシートに15枚の画像(bitmap)が貼られており
このままではファイルが重いので、同サイズのjpegに変換したいのですが・・・
手でやると 画像選択→切り取り→貼り付けセルを選択→型式を選択して貼り付け→図(jpeg)
以下マクロの記録
ActiveSheet.Shapes.Range(Array("図 11")).Select
Selection.Cut
Range("H60").Select
ActiveSheet.PasteSpecial Format:="図 (JPEG)", Link:=False, DisplayAsIcon:= _
False
End Sub
となります。
これをVBAで数10ファイル連続で実行したいのですが、1つ問題があります。
画像はカウント後に配列で取り込み順次処理していきますが、
同じ場所に同じ大きさで貼りたいのですが、元画像を貼り付けているセルの番地の
取得をどうしたらよいか悩んでいます コレ → Range("H60").Select
画像が張り付いているセルは複数で左上のセルを選択して貼り付けしたいのですが・・・
貼り付けた画像(bitmap)は名前が自動的に振られているのでセルを指定して貼り付けると
元の位置に貼られない可能性があるので・・・
貼り間違いなどで、同じ位置でも図の名前(図11等)が違ってしまっている場合
説明が下手で申し訳ありませんが、ご存知の方よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
こんなところでいかがでしょうか。
xl2010で(少しだけ)試しています。ご参考まで。
Sub test()
Dim shp As Shape
Dim sh As Worksheet
Dim shpAddress As String
Set sh = ActiveSheet
For Each shp In sh.Shapes
If shp.Type = msoPicture Then
shpAddress = shp.TopLeftCell.Address
shp.Cut
sh.Range(shpAddress).Activate
sh.PasteSpecial Format:="図 (JPEG)", Link:=False, DisplayAsIcon:=False
End If
Next shp
End Sub
お忙しいところ誠にすみません。
年1、2回くらいしかマクロをやらないので、
基本的なところも忘れているので、大変助かります。
早速、連続処理のマクロに移植して動かしてみたいと思います。
大変ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Excel(エクセル) エクセルのマクロでコピー後の貼り付け先を毎回指定したところにしたい 5 2022/08/12 10:47
- Visual Basic(VBA) 【VBA】写真の縦横比を変えずに貼り付ける 5 2023/06/13 11:42
- Excel(エクセル) EXCELのグラフを画像(JPG形式)で保存、通常実行がうまく行かない。ステップインはうまく行く 3 2022/08/30 12:06
- Excel(エクセル) EXCELマクロでandroidタブレットから取りんだJPEGファイルをうまくセルに貼り付けられない 2 2022/07/31 15:03
- Visual Basic(VBA) VBAマクロ 決まっていない行を選択して別シートへ貼付け 4 2023/02/16 16:08
- Excel(エクセル) 【マクロ】スクショ印刷がうまく動かない件 5 2022/12/06 17:37
- Excel(エクセル) エクセルのマクロについて教えてください。 3 2023/02/07 14:47
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- Visual Basic(VBA) シート間で同じ値があったら指定範囲をコピーして貼り付け 1 2022/11/07 08:01
このQ&Aを見た人はこんなQ&Aも見ています
-
エクセルのVBAでクリップボードにコピーした画像をpng(or jpg or bmp)保存したい
Visual Basic(VBA)
-
bmp画像をjpegやpng画像に圧縮する方法
Visual Basic(VBA)
-
Excel マクロ 画像をリンクせずかつ圧縮して貼りつける方法を教えてください
Excel(エクセル)
-
-
4
【ExcelVBA】図の縮小貼付時のトラブル
その他(Microsoft Office)
-
5
エクセルマクロでシート内にある画像のみを選択する
Excel(エクセル)
-
6
【エクセルのマクロ】クリップボードのbitmapをフォームに表示させたい
Visual Basic(VBA)
-
7
Excelに貼り付けた画像を圧縮するマクロについて
Visual Basic(VBA)
-
8
エクセルに貼付けた写真の容量(何バイトなのか)を確認する方法はありますか?
その他(パソコン・スマホ・電化製品)
-
9
ListView 項目の選択/選択解除について
Visual Basic(VBA)
-
10
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
11
【EXCEL VBA】オートシェイプをクリックした時にそのオートシェイプの名前を取得したい
Visual Basic(VBA)
-
12
VBAで画像のドット位置を探す。
Excel(エクセル)
-
13
VBA Shapes コピーと名前
Excel(エクセル)
-
14
Excelマクロ 選択画像の大きさを100%に
その他(Microsoft Office)
-
15
エクセル(2013)VBA-図の縦横比を変えずにセルにおさまる最大限の大きさにする
Excel(エクセル)
-
16
エクセルVBA 画像を貼り付けるセル位置を指定する方法
Excel(エクセル)
-
17
【ExcelVBA】マクロの入ったシートをコピーしても新しいシート内でマクロを動作させるには?
Excel(エクセル)
-
18
VBAで選択した画像を貼り付けたい
Excel(エクセル)
-
19
Excel ユーザーフォームで表示させた画像をユーザーフォーム上で保存したい
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
枠に収まらない文字を非表示に...
-
エクセルで指定したセルのどれ...
-
貼り付けで複数セルに貼り付けたい
-
セルをクリック⇒そのセルに入力...
-
(Excel)数字記入セルの数値の後...
-
エクセルの書式設定の表示形式...
-
Excelで数式内の文字色を一部だ...
-
Excel2010の指マークと白十字マ...
-
【エクセル】IF関数 Aまたは...
-
EXCEL VBA セルに既に入...
-
Excelでのコメント表示位置
-
【Excel】 セルの色での判断は...
-
数式を残したまま、別のセルに...
-
エクセル オートフィルタで絞...
-
excelの特定のセルの隣のセル指...
-
エクセルの一つのセルに複数の...
-
エクセル 足して割る
-
対象セル内(複数)が埋まった...
-
エクセルVBA、ファイル名をセル...
-
Excel 例A(1+9) のように番地の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで指定したセルのどれ...
-
貼り付けで複数セルに貼り付けたい
-
excelの特定のセルの隣のセル指...
-
枠に収まらない文字を非表示に...
-
エクセルの書式設定の表示形式...
-
数式を残したまま、別のセルに...
-
【エクセル】IF関数 Aまたは...
-
セルをクリック⇒そのセルに入力...
-
(Excel)数字記入セルの数値の後...
-
Excelで、「特定のセル」に入力...
-
Excel 例A(1+9) のように番地の...
-
対象セル内(複数)が埋まった...
-
EXCEL VBA セルに既に入...
-
エクセルの一つのセルに複数の...
-
【Excel】 セルの色での判断は...
-
Excelで数式内の文字色を一部だ...
-
エクセルのセルの枠を超えて文...
-
エクセル オートフィルタで絞...
-
Excelでのコメント表示位置
-
連続しないセルから最小値を引...
おすすめ情報