【Excel】画像を瞬時に1/4倍(小さく)するマクロ!スクショを貼り付ける時に便利

Excel画像縮小サムネ

縦横のスペースが大きく取れ、画像貼り付け・画像加工に長けているExcelは、私用でも仕事でもメモを取るのに最適です。
しかし、例えばネットで調べた資料をスクリーンショットして画像メモとして貼付けた画像が大きすぎると感じるのは私だけではないはず。。。

おりんパパ
おりんパパ

画像が複数あると、あとで大きすぎる画像サイズを調整するのが手間なんですよね。

この記事では、瞬時に画像を小さくするマクロについて紹介し、ストレスなく画像メモを貼り付けていく方法を提案します。


広告


Excelで大きすぎるスクリーンショット画像を小さくする方法

Excelはメモを取るには最高のツールと考えています。下のリンク記事では、6種類のメモソフトの中で、Excelがより良い理由をまとめています。

【仕事目線】最適な議事録、メモツール(ソフト、アプリ)の特徴や使い分けを整理してみた

Excelはメモのスペースとして縦横が大きく取れ、貼り付けた画像の調整や加工もすばやくできます。しかし、スクリーンショット画像をそのまま貼り付けるとサイズが大きいです。特に全画面のスクリーンショット画像になると、大きすぎて困ります。

スクショのサイズが大きい


この記事では、貼り付けた画像を素早く小さくする方法を2つ取り上げます。

  • まとめて画像を選択し、一括でサイズを変更する
  • マクロを使い、その都度 or 一括で小さくする

まとめて画像を選択し、一括でサイズを変更する

小さくする方法1
複数の画像を選択し、下のいずれかで一括縮小できます。
(1)ツールバーの『図形の形式』-『サイズ』部で数字を変える
(2)右クリックの『図の書式設定』で変える
(3)Ctrl + 1 で『図の書式設定』を呼び出して変える


【注意!】
1つの画像を選択してサイズ変更後、別の画像を選択してctrl+y(繰り返し)はできない

繰り返しができない
同じ動作を繰り返すコマンドは、画像サイズ変更には適用されない


マクロを使い、その都度 or 一括で小さくする

マクロ発動1
マクロ実行シーンのキャプチャ

この記事の目玉はマクロ紹介です。詳細は次から説明していきます。

[ad02]


Excelで画像を瞬時に小さくする(大きくする)にはマクロを組み込むのが便利

紹介するマクロをクイックアクセスツールバーに組み込む前提で進めます。その方が時短ができるからです。

クイックアクセスツールバー1
クイックアクセスツールバーはデフォルトは緑帯の部分に設置される、自分で登録できるコマンド

クイックアクセスツールバーに登録されたコマンドは、クリックして発動でき Alt + 数字キー ショートカットキーとして発動もできます。

クイックアクセスツールバーでショートカットキー化しておけば、1つの画像を瞬時に小さくもできるし、画像を選択して一括で小さくもできます。個人的にはメモを取りながらその都度小さくするスタイルを好みます。

ただしこのマクロにはデメリットがあります。

  • ctrl+Zで元のサイズに戻せない ※どのマクロも実行後は元に戻せないので
  • 縮尺度に自由度がない ※マクロで設定した縮尺度のみになる

これらのデメリットの対策として、元のサイズに戻す拡大マクロも同時に組み込み、縮尺度は小さくなりすぎない設定にする。ということをしています。

クイックアクセスツールバー2


マクロ組み込み手順

アドインファイルを作成する

■新規作成し、拡張子を『.xlsm』で保存する。(今回は「画像10倍.xlsm」とした)

新規作成


Alt + F11 でVBAを起動し、「画像10倍.xlsm」を右クリック – 挿入 – 標準モジュール

標準モジュール


コードを記入する。(下のコードをコピペしてください)

コードを貼り付ける

画像を縮小・拡大するマクロ
Sub x10() ActiveWindow.Selection.ShapeRange.ScaleWidth 2, msoFalse, msoScaleFromTopLeft ActiveWindow.Selection.ShapeRange.ScaleHeight 2, msoFalse, msoScaleFromTopLeft
End Sub
Sub x1_10() ActiveWindow.Selection.ShapeRange.ScaleWidth 0.5, msoFalse, msoScaleFromTopLeft ActiveWindow.Selection.ShapeRange.ScaleHeight 0.5, msoFalse, msoScaleFromTopLeft
End Sub


■ .xlsmファイルを上書き保存したら、名前を付けて保存から拡張子を『Excelアドイン(*.xlam)』に変更して保存する。

名前を付けて保存


アドインファイルからコマンドを登録する

ホーム – オプション をクリック

オプション2


アドイン タブの 管理部をExcelアドインにして 設定 をクリック

アドインをONにする1


■ 先ほどのファイルの左にチェックを入れてOKで閉じる

アドインをONにする2


■下図の①~⑤の順にクイックアクセスツールバーを追加していきます。

クイックアクセスツールバーの設定


上図・右部の上から Alt+1、Alt+2、とショートカットキーになります。(この記事の例ではAlt+6が縮小でAlt+7が拡大です)

登録後の画面
実際のクイックアクセスツールバーは左端からAlt+1、Alt+2、という順になります。


⑥~⑧はアイコンの変更説明です。先ほどのクイックアクセスツールバー設定タブで、アイコンを変えたいコマンドを選び、変更好きなアイコンを選んで OKで閉じる。

アイコン変更
画像の縮小・拡大っぽいアイコンに変更してみた後のクイックアクセスツールバー


これでマクロが発動できる準備完了です。

マクロ発動1

[ad05]
[ad02]


画像縮小・拡大マクロの設定補足とファイルサイズも軽くする応用技

マクロの補足です。

画像サイズが縦横比固定になっているかで、縮尺度が変わる

画像を縮小マクロPick Up
Sub x1_10() ActiveWindow.Selection.ShapeRange.ScaleWidth 0.5, msoFalse, msoScaleFromTopLeft ActiveWindow.Selection.ShapeRange.ScaleHeight 0.5, msoFalse, msoScaleFromTopLeftEnd Sub

このマクロは、色付き字部の2行で構成されています。1行目は横幅の倍率設定(ScaleWidth)で、2行目が縦幅の倍率設定(ScaleHeight)です。

チェックあり

上図のように、画像サイズの設定が縦横比を固定するを適用する場合(チェックがある場合)ScaleWidthを変更すると自動でScaleHeightも変更され、ScaleHeightを変更すると自動でScaleWidthも変更されます。

この記事の例では、マクロ1行目で縦横が0.5倍、マクロ2行目で縦横が0.5倍されるので、0.5倍×0.5倍(=0.25倍=1/4に縮小)されます。
よって、マクロ実行結果は、100mm角の画像が1/4のサイズの25mmに縮小(0.25倍)されています。

マクロ発動1

拡大する方も同じなので、倍率設定を「2」にしています。※2倍×2倍(=4倍)になり、0.25倍された画像が1に戻ります。


画像サイズの設定が縦横比を固定するを適用しない場合(チェックを外している場合)マクロ1行目で横幅のみ0.5倍、マクロ2行目で縦幅のみ0.5倍され、実行結果は0.5倍になります。

横幅のみ縮小イメージ2
縦横比を固定しない場合、マクロ1行目で図のように横幅のみ変更され、2行目で縦幅が変更されます。

縦横比固定のことを考えると少し刻んで縮小できる度合いにしておくのがよい

当ブログのおすすめは0.5倍⇔2倍 設定

縦横比固定のチェックがある場合は0.25倍(0.5×0.5倍)、チェックがない場合は0.5倍になります。

より刻みたい方は0.7倍⇔1.4285715倍 設定

縦横比固定のチェックがある場合は0.49倍(0.7×0.7倍)、チェックがない場合は0.7倍になります。1に戻すには、拡大設定値が1.4285715倍です。


貼り付け時&画像圧縮&サイズ縮小を1工程でやってしまうマクロ

複数の画像を一括でサイズ縮小できないデメリットはありますが、
1工程で貼り付け⇒切り取り⇒JPEG形式で貼り付け⇒サイズ縮小をすることで、画像をできるだけ軽くしながら貼り付けていくマクロです。

オプションマクロ

下がコピペ用のコードです。
色付き部が追加になっており、Windows + Shift + s などで画面を切り取ったあと、このオプションマクロを発動させるだけで、画像を圧縮するJPEG形式にして大きさも縮小します。

画像を縮小・拡大するマクロ(オプション)
Sub x10() ActiveWindow.Selection.ShapeRange.ScaleWidth 2, msoFalse, msoScaleFromTopLeft ActiveWindow.Selection.ShapeRange.ScaleHeight 2, msoFalse, msoScaleFromTopLeft
End Sub
Sub x1_10() ActiveSheet.Paste Selection.Cut ActiveSheet.PasteSpecial Format:="図 (JPEG)", Link:=False, DisplayAsIcon:= False ActiveWindow.Selection.ShapeRange.ScaleWidth 0.5, msoFalse, msoScaleFromTopLeft ActiveWindow.Selection.ShapeRange.ScaleHeight 0.5, msoFalse, msoScaleFromTopLeft
End Sub

別ファイルにある重い写真画像をコピーしておいて、このオプションマクロを発動させれば軽くなります。(写真によっては解像度が荒くなるので注意)

[ad06]
[ad02]


Excelのツールバー設定は保存しておこう

クイックアクセスツールバー、ツールバーの設定をカスタマイズしたら保存しておきましょう。PCを入れ替えた時や、トラブルでツールバーがリセットされた時にすぐに復元できます。

下のリンク記事に詳細解説しているので、よかったら見て下さい。

【Excel】ツールバー設定をバックアップすべき2つの理由!勝手に初期化されたりPCを替える時の解決策


方法をざっくりいうと、下のフォルダにあるファイルを保存するか、

■ファイルの場所:C:\Users\◎◎(ユーザー名)\AppData\Local\Microsoft\Office

ExcelofficeUI2


オプション画面からエクスポートしてUIファイルを保存おきます。

ツールバー設定の保存2

ツールバー設定の保存3


最後に

Excelで画像付きメモを取る時に役に立つ、画像を瞬時に小さくする方法を紹介しましたが、いかがでしょうか?

調べた資料のスクリーンショット画像が大きすぎて邪魔!という問題は解消するはずです。

私はメモを取る時、サブモニターの方に資料を映して、メイン画面で作業をしますので、Excelに貼り付けた画像が大きすぎて困っていました。

全画面をスクリーンショットする場合、倍率設定は0.5倍 ⇔ 2倍設定が良いと考えます。もう少し細かく縮小していきたいなら0.7倍 ⇔ 1.4285715倍にしてください。

画質がおちますが、ファイルサイズを軽くするための圧縮もマクロに組み込めますので、お好みで設定してください。

記事内で紹介した関連リンク

【仕事目線】最適な議事録、メモツール(ソフト、アプリ)の特徴や使い分けを整理してみた

【Excel】ツールバー設定をバックアップすべき2つの理由!勝手に初期化されたりPCを替える時の解決策


おまけ

 

Excelテク集の目次は下の通り
(下のリンクから各項目に直接アクセスできます)

時短や快適さアップのテクニックが多くあります!!


最後まで見ていただき、ありがとうございました。


広告


広告

広告