- 締切済み
エクセル365の画像複数同時編集について
【経緯】 最近、会社PCの入れ替えにより、windows7から10に変更になりました。その際、今までエクセル2003を使用していましたが、エクセル365に変更になりました。 【困っている点】 365では複数画像を選択し、同時にトリミング(上下左右の任意値)及び、明るさ・コントラスト調整ができない。 画像を多量(10枚以上)に選択するうえに、全て倍率を揃えて撮影しているため、全ての画像を同様にトリミングする必要があります。 また、撮影対象物によっては、あえて中心からずらして撮影する必要があります。そのため、不均一なトリミング(例:左0mm、右10mm)をする必要があります。 また、縦横比指定のトリミング方法では思うようにできませんでした。 ※2003では複数画像を選択し、同時にトリミング(上下左右の任意値)及び、明るさ・コントラスト調整ができていました。 【自分で試行錯誤した上での妥協策】 色々調べて試してみた結果、現在私が試している方法です。 下記方法より良い方法があれば教えて頂きたいです。 ①写真を全て選択する。 ②「ページレイアウト、配置」左揃えで画像を全て揃える。 ③1つの画像を選択し「図の書式設定、トリミング位置」で左を調整す る。(例:50cm) ④他画像について左位置を揃える。(例:50cm) ⑤写真を全て選択する。 ⑥「ページレイアウト、配置」上揃えで画像を全て揃える。 ⑦1つの画像を選択し「図の書式設定、トリミング位置」で上を調整す る。(例:40cm) ⑧他画像について上位置を揃える。(例:40cm) ⑨1つの画像を選択し、幅・高さを設定する。 ⑩他の画像も同様に選択する。 以上です。初めて質問させて頂いているので分かりにくいところがあれば申し訳ないです。 長文、失礼しました。よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- HohoPapa
- ベストアンサー率65% (455/693)
VBAを持ち込んでよければ、お試しください。 添付画像のように、Controlシートに設定値を用意し 画像の配置されたシートを選択して 以下のマクロを実行します。 Option Explicit Sub Trimming() Dim CtlSheet As Worksheet Dim shp As Shape Dim tgSheet As Worksheet Dim MyCnt As Long Set CtlSheet = ThisWorkbook.Sheets("Control") Set tgSheet = ThisWorkbook.ActiveSheet For Each shp In tgSheet.Shapes If shp.Type = 13 Then shp.Select With Selection.ShapeRange.PictureFormat .Brightness = CtlSheet.Cells(11, 3).Value / 200 .Contrast = CtlSheet.Cells(12, 3).Value / 200 .CropTop = CtlSheet.Cells(13, 3).Value .CropLeft = CtlSheet.Cells(14, 3).Value .CropBottom = CtlSheet.Cells(15, 3).Value .CropRight = CtlSheet.Cells(16, 3).Value End With End If Next End Sub
お礼
HohoPapaさん ご回答ありがとうございます。 私自身、マクロは全く使ったことがなく理解しきれないところがあるのですが、ご記入頂いたマクロを一度作れば、次回から作業の手間が省けるという認識でしょうか? また、マクロ無しでは私が提示している作業は難しい感じでしょうか? 質問ばかりで申し訳ないです。 宜しくお願いします。