• 締切済み

エクセルで写真整理

エクセルでアルバムを作っています。 いくつかのセルを結合して、A4紙に3枚の写真を貼りその右に 説明(日時、写真タイトル、補足説明など)を書くようなアルバムです。 挿入→図→ファイルから(写真・図を選ぶ)→その結合したセルのサイズに縮小…  のように少しめんどくさいので。 マクロで、その結合したセルをダブルクリックしたら、図の挿入(セルサイズにあった図)が選択できるようにしたいのですが。 何か良いマクロがあればご教授願います。 自分はまだマクロ初心者なので、皆さんの力を貸していただきたく願います。

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

VBA以外の、「操作」では不可能と思う。 ーー ツールーマクロー新しいマクロの記録のモードにして (1)質問に書いている操作を1回記録する。これはA4の3枚入れる写真の一番上(または左)のもの (2)A4の3枚入れる写真の2番のものの操作をしてマクロの記録をとる。 (3)A4の3枚入れる写真の3番のものの操作をしてマクロの記録をとる。 ーー 3つを1字一句比べてどこが変わっているか把握し書き上げる ーーー 基本的に、VBAコードの1部を変えて3回ほど繰り返す必要あり。 (A)画像名指定は各回変えなければならない (B)画像の位置も変える必要があるが セルの位置のLeft,Top,Height,Widthに関連付けて位置を決める方法と 絶対位置で決める方法がある。それを質問には書いてないが、前者の方法かなと思う。 ーー それらは 配列に、画像(1)=xx、画像(2)=yy、画像(3)=ZZ (xxなどは文字列)を定義しておき、 For i=1 to 3 ActiveSheet.Pictures.Insert( 画像(i)) (追加してここに位置や拡大縮小のコードを入れる。この説明略) Next i で3回繰り返す。 そして印刷なり、 シート(多数のシートに画像を保存する場合)を変えるなりする。(シートを次に移すのは下記コード) Sub Sample1() ActiveSheet.Next.Activate End Sub この3回を何回か繰り返す。 位置についても同じ要領のコードを書き実現する。 ーー 参考にしてやってみてください。未経験者に説明するのは説明することが多すぎて、難しい。 上記ではマクロの記録を用いて説明しているが、慣れればこんな悠長なことで説明はしないものだが初心者用に、説明を工夫したもの。 ーー VBAの未経験者なら、すぐは難しいのであきらめては。 出来合いの他人が作って公開しているソフトが沢山ありそうなので それを探したら。

関連するQ&A