- ベストアンサー
excelで画像名を入れると別のシートに画像を表示する方法
初心者です。 50枚くらいの画像の名前を入力していくと、別のシートに順番に表示されるようにする方法を教えてください。画像の大きさも指定したいです。VBAでできるかもしれないとも聞きましたが、よく分かりません。できればわかりやすく教えて頂けますか?宜しくお願い致します。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
#4の訂正です。 Selection.Height = 240 Selection.Width = 240 * W / H この2行の数値部分を同じく変更してください。 なお、 Selection.Height = 240 Selection.Width = Selection.Height * W / H のように書き換えておくと、次からは先述の1行だけの修正で済みます。
その他の回答 (4)
- misatoanna
- ベストアンサー率58% (528/896)
#3です。 > 写真の大きさをもう少し小さくしたいのですが、どこを変えれば,,,, 下から5行目にある Selection.Height = 240 の、数値部分を少し小さくします。 縦サイズだけを変更するわけですが、横サイズは、実際の写真(?)の 比率で自動的に小さくなります。
- misatoanna
- ベストアンサー率58% (528/896)
VBA不得意な私なりの拙いマクロです。 各シートは次のように設定してください。 A)入力用シート(左端のシート) ・A1に画像の保存してあるフォルダのフルパスを入力。 B)画像表示シート(左から二番目のシート) ・1ページ行数:60、 行高はすべて同じ。 入力用シートのシートタブを右クリックして「コードの表示」を選択し、 表示される画面に以下をコピーします。 Private Sub Worksheet_Change(ByVal Target As Range) Dim FPath, FName, R, C, H, W If Target.Column <> 2 Then Exit Sub On Error Resume Next If Target.Value = "" Then Exit Sub Application.ScreenUpdating = False FPath = Range("A1").Value & "\" FName = Target.Value R = 20 * (Target.Row - 1) + 1 Sheets(2).Select ActiveSheet.Cells(R, 1).Select ActiveSheet.Pictures.Insert(FPath & FName).Select '※ H = Selection.Height W = Selection.Width Selection.Height = 240 Selection.Width = 240 * W / H Sheets(1).Select Application.ScreenUpdating = False End Sub 準備ができたら、入力シートのB列に1行目(B1)からファイル名を拡張子付きで 入力していきます。
補足
ありがとうございます。 できました!出来た時は感動でした!! できれば、写真の大きさをもう少し小さくしたいのですが、どこを変えればいいんでしょうか? 何度もすみません。よろしくお願いします。
- imogasi
- ベストアンサー率27% (4737/17069)
「VBA 画像」でOKWAVEの照会をしてください。過去に、似たような質問回答があります。 私の回答では http://okwave.jp/kotaeru.php3?q=2091001 など。 その前にマクロの記録をとって、挿入-図-ファイルからなどをとって、学習して行くことから始めて、類推して広げてみてください。
お礼
ありがとうございます。 教えていただいたところを早速見てみたいと思います。
- misatoanna
- ベストアンサー率58% (528/896)
> 別のシートに順番に表示されるようにする方法 各画像別々のシートにですか? それとも、最初の画像は Sheet2 の A1 を起点、次の画像は Sheet2 の D1 を起点に、ということですか?
補足
ありがとうございます。 例えば、シートは2つにして、一つのシートに画像の名前をA1~A50まで入力すると、別のシートに縦に順番に画像が表示されるという風にしたいのです。A4の用紙に縦に3枚くらいづつ均等に入れて印刷したいのですがどうすればいいでしょうか? よろしくお願いします。
お礼
分かり易く説明してくださりありがとうございました。初心者の私でもスムーズに出来ました。 本当にありがとうございました。