プロが教えるわが家の防犯対策術!

初心者です。
50枚くらいの画像の名前を入力していくと、別のシートに順番に表示されるようにする方法を教えてください。画像の大きさも指定したいです。VBAでできるかもしれないとも聞きましたが、よく分かりません。できればわかりやすく教えて頂けますか?宜しくお願い致します。

A 回答 (5件)

> 別のシートに順番に表示されるようにする方法


各画像別々のシートにですか?
それとも、最初の画像は Sheet2 の A1 を起点、次の画像は Sheet2 の D1 を起点に、ということですか?

この回答への補足

ありがとうございます。
例えば、シートは2つにして、一つのシートに画像の名前をA1~A50まで入力すると、別のシートに縦に順番に画像が表示されるという風にしたいのです。A4の用紙に縦に3枚くらいづつ均等に入れて印刷したいのですがどうすればいいでしょうか?
よろしくお願いします。

補足日時:2006/05/10 12:39
    • good
    • 0

「VBA 画像」でOKWAVEの照会をしてください。

過去に、似たような質問回答があります。
私の回答では
http://okwave.jp/kotaeru.php3?q=2091001
など。
その前にマクロの記録をとって、挿入-図-ファイルからなどをとって、学習して行くことから始めて、類推して広げてみてください。
    • good
    • 0
この回答へのお礼

ありがとうございます。
教えていただいたところを早速見てみたいと思います。

お礼日時:2006/05/10 13:28

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)からファイル名を拡張子付きで
入力していきます。

この回答への補足

ありがとうございます。
できました!出来た時は感動でした!!
できれば、写真の大きさをもう少し小さくしたいのですが、どこを変えればいいんでしょうか?
何度もすみません。よろしくお願いします。

補足日時:2006/05/11 13:37
    • good
    • 0

#3です。


> 写真の大きさをもう少し小さくしたいのですが、どこを変えれば,,,,
下から5行目にある
  Selection.Height = 240
の、数値部分を少し小さくします。
縦サイズだけを変更するわけですが、横サイズは、実際の写真(?)の
比率で自動的に小さくなります。
    • good
    • 0

#4の訂正です。



  Selection.Height = 240
  Selection.Width = 240 * W / H
この2行の数値部分を同じく変更してください。

なお、
  Selection.Height = 240
  Selection.Width = Selection.Height * W / H
のように書き換えておくと、次からは先述の1行だけの修正で済みます。
    • good
    • 0
この回答へのお礼

分かり易く説明してくださりありがとうございました。初心者の私でもスムーズに出来ました。
本当にありがとうございました。

お礼日時:2006/05/12 17:23

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!