• ベストアンサー

Excelに複数の写真を挿入する場合…

KenKen_SPの回答

  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.2

こんにちは。KenKen_SP です。 挿入してから手動で並べ替えるのは、ダメなのですか? > 順番の逆から選択→挿入してみたのですが、このときは貼りつけたい順番 > どおりに挿入されました。 それは、たまたまの上手くできただけであって、選択順は無関係ですね。確証 はないのですが、選択されたファイルを HDD から探し、見つけた順番に画像が 挿入されるのだと思います。 任意の選択順...というのは特殊な仕組みを作らないと無理です。プログラム を組むことになりますが、結構複雑になりそうです。 また、ファイル名順であれば、こちらもプログラムは必要ですが、比較的に 簡易なもので可能です。一例を紹介しておきます。 Sub 複数の画像を挿入()      Dim strFilter As String   Dim Filenames As Variant   Dim PIC    As Picture        ' 「ファイルを開く」ダイアログでファイル名を取得   strFilter = "画像ファイル(*.jpg;*.jpeg;*.gif;*.bmp;*.png),*.jpg;*.jpeg;*.gif;*.bmp;*.png"   Filenames = Application.GetOpenFilename( _           FileFilter:=strFilter, _           Title:="図の挿入(複数選択可)", _           MultiSelect:=True)   If Not IsArray(Filenames) Then Exit Sub      ' ファイル名をソート   Call BubbleSort_Str(Filenames, True, vbTextCompare)        ' 貼り付け開始セルを選択   Range("C5").Select        ' マクロ実行中の画面描写を停止   Application.ScreenUpdating = False   ' 順番に画像を挿入   For i = LBound(Filenames) To UBound(Filenames)     Set PIC = ActiveSheet.Pictures.Insert(Filenames(i))           '-------------------------------------------------------------     ' 画像の各種プロパティ変更     '-------------------------------------------------------------     With PIC       .Top = ActiveCell.Top    ' 位置:アクティブセルの上側に重ねる       .Left = ActiveCell.Left   ' 位置:アクティブセルの左側に重ねる       .Placement = xlMove     ' 移動するがサイズ変更しない       .PrintObject = True     ' 印刷する     End With     With PIC.ShapeRange       .LockAspectRatio = msoTrue  ' 縦横比維持       ' 画像の高さをアクティブセルにあわせる       ' 結合セルの場合でも対応       .Height = ActiveCell.MergeArea.Height     End With     ' 次の貼り付け先を選択(アクティブセルにする)[例:5個下のセル]     ActiveCell.Offset(5).Select          Set PIC = Nothing   Next i      ' 終了   Application.ScreenUpdating = True   MsgBox i & "枚の画像を挿入しました", vbInformation End Sub ' バブルソート(文字列) Private Sub BubbleSort_Str( _   ByRef Source As Variant, _   Optional ByVal SortAsc As Boolean = True, _   Optional ByVal Compare As VbCompareMethod = vbTextCompare)      If Not IsArray(Source) Then Exit Sub      Dim i As Long, j As Long   Dim vntTmp As Variant   For i = LBound(Source) To UBound(Source) - 1     For j = LBound(Source) To LBound(Source) + UBound(Source) - i - 1       If StrComp(Source(IIf(SortAsc, j, j + 1)), _             Source(IIf(SortAsc, j + 1, j)), Compare) = 1 Then         vntTmp = Source(j)         Source(j) = Source(j + 1)         Source(j + 1) = vntTmp       End If     Next j   Next i End Sub

rx-z5815
質問者

お礼

詳しい回答ありがとうございました。 “プログラムを組む”ことまでしないと、貼りつけたい順番どおりにはいかないのですね(>_<) プログラムうんぬんまでPCに詳しくないので、一例を示していただきましたが、私の手には負えないようです。

関連するQ&A

  • エクセルで複数行に一度に改ページを挿入する方法

    エクセルで2行ごとに、一気に改ページを挿入する方法があればおしえてください。 全部で50の改ページを挿入しなければならないので、いちいち挿入する行を選択して改ページを入れるのは面倒で。 マクロも考えていますが、マクロ以外で方法はないでしょうか? ためしに、複数行選択して、改ページを挿入してみたら、最後の選択行にしか改ページが入っていませんでした。 2行ごとという規則性があるので、何か方法がありそうですが…。 よろしくお願いします。

  • 複数の写真をエクセルに貼り付けられるマクロ

    エクセルで工事写真を貼り付けたいのですが、 マクロにより以下のことを実行したいです。 (1)写真貼り付け開始セルをダブルクリック (2)写真を複数枚選択 (3)写真をセルのサイズにリサイズ (4)ファイル名順に写真を貼り付け マクロを普通に実行して(2)~(4)を行うコードや 写真1枚に対して(1)(3)(4)ができるコードは見つかるのですが、 (1)~(4)ができるコードが見つかりません。 ちなみに、写真貼り付け用のセルは4列×12行分の結合セルで この形式が下に延々と続いています。 どなたか良い知恵をお貸しください

  • Excelで複数の写真。

    Excelで複数の写真を同じサイズに一気に挿入する方法を教えてください。 写真の大きさは、履歴書ぐらいの大きさで、1つのセルに1枚入るようにしたいです。 最終的に、できるだけたくさん並べて、A4用紙に印刷したいです。 Excel初心者です。Σ(-∀-;) もしも可能であれば、もう1つ。 上記の写真に加え、ファイル名も一緒に 表示できるのであれば、そちらも教えていただきたいです。┏〇┏〇┏〇 一行目→写真。複数(A4に入る分) 二行目→ファイル名。複数(A4に入る分) 三行目→写真。複数(A4に入る分) 四行目→ファイル名。複数(A4に入る分) のようなイメージです。 説明が下手ですいません。 よろしくお願いします♪┏〇┏〇

  • エクセル2000で複数のセルを挿入

    エクセル2000で一度に複数のセルを挿入する方法ってあるんでしょうか? 例えば、12番目のセルと13番目のセルの10個のセルを追加する場合、13番目のセルの上で10回セルの追加を行っているのですが‥宜しくお願いします!

  • エクセルで写真を挿入する方法を教えて下さい。

    エクセル2003でデスクトップのフォルダーに保存してある写真を貼り付ける方法を教えて下さい。 今までは写真を右クリックで「コピー」を選択してエクセルで右クリックで「貼り付け」を選択すればよかったのですが、それが出来なくなりました? エクセル上で「挿入」からデスクトップのフォルダーに保存してある写真を選択して挿入という方法があると思います。 宜しくお願い致します。

  • エクセルの写真挿入方法で

    エクセルで写真を挿入する作業で、挿入セルにファイル名(例えば001.JP)を打ち込むと挿入される そんなことは可能でしょうか? 出来るのであれば、初心者にも分かるレベルで教えてください。 よろしく御願いします。

  • Excelでの挿入写真の作成日表示

    Excelで、挿入から貼り付けた写真の更新日時や作成日時をセル上に表示させる方法はないでしょうか。 関数、VBAどちらでも構いません。 よろしくお願いします。

  • エクセル マクロ 選択した複数シートにコメント挿入のやり方

    はじめて質問させていただきます。 エクセルのマクロで選択された複数シートに順番に コメントを挿入する・・というのをしたいのですが うまくいきません。 "Exs.Range("A1").AddComment"の部分で 「実行時エラー:1004 アプリケーション定義またはオブジェクト定義のエラーです」 となってしまいます。 マクロの記録で試そうとも思ったのですが、 複数シートを選択すると、右クリックしても コメント挿入のメニューが表示されませんでした。 元々、複数シートへのコメント挿入はできないのでしょうか・・? ソースは以下です。 Sub Macro1() Dim Exs As Worksheet Dim sSheet As Long Dim i As Long '選択されたシート数を取得 sSheet = ActiveWindow.SelectedSheets.Count i = 1 '選択されたシート数分、A1セルにコメントをつけていく Do While i <= sSheet ActiveWindow.SelectedSheets.Item(i).Activate Set Exs = ActiveWorkbook.ActiveSheet Exs.Range("A1").ClearComments Exs.Range("A1").AddComment Exs.Range("A1").Comment.Visible = True Exs.Range("A1").Comment.Text Text:=Chr(10) & "てすとー" Exs.Range("A1").Select i = i + 1 Loop End Sub お解かりになる方いらっしゃいましたら、 なにとぞよろしくお願いいたします。

  • Excelのコメントで図挿入について

    先日、セルまたは入力文字にカーソルを合わせた時のみ写真を表示したくてご質問し、コメントの画像挿入を教えて頂き出来たのですが別ファイルを持つ必要があります。Excelファイル内の写真を挿入することは難しいでしょか?

  • エクセルで写真を貼り付けるには?

    エクセルで写真を貼り付けるのは、普通にやるなら「挿入」の「図」で「ファイルから」を選べばできますが、そのやり方ではなくて、セルをダブルクリックしたらファイルの選択ウィンドウが出て、ファイルを選べばセルのサイズで貼り付け、というのが出来るはずなんですが、どうやるのでしょうか?