• 締切済み

EXCELのVBAで画像並べ替え

EXCEL2007のVBAを使って、GUIでシート内の縦に並んだ画像を表示して選択し、 矢印の「↑」「↓」をクリックして並び順を替えれるようにしたいと思っております。 EXCEL2003まではフリーソフトの「画像操作.xla」を使って出来ていたのですが、 EXCEL2007以降のバージョンでは使えなくなりました。 まずは、ユーザーフォームの中にシート中の縦に並んだ画像をプレビューとして表示するには どのようにすればいいのでしょうか? 参考になるサイトや書籍などでもかまいませんので、ご教授お願い致します。

みんなの回答

回答No.1

これを利用する?? 「複数画像の一括挿入」アドインソフトの説明 http://kiyopon.sakura.ne.jp/soft/fukuzu.htm 【機能】 写真ファイルや図形ファイルなどの複数画像を一括で選択し、セルの行順に挿入します。セルのサイズに合わせて画像のサイズ縮小(または拡大)することもできます。 【使用方法】 メニューバーの「挿入」「複数画像の一括挿入」を選択します。 エクセル2007以降の場合は「アドイン」「複数画像の一括挿入」を選択します。 エクセル2007でマクロ(ユーザー定義関数、あるいはアドインソフト)利用の場合 http://kiyopon.sakura.ne.jp/soft/2007.html

yoshi4904
質問者

補足

回答いただきありがとうございます。 ご教示頂いたソフトも試してみたいと思います。 ただ、すでに画像の一括挿入までは画像の情報をテキストで表示し決まったレイアウトで 取り込むプログラムまではできています。 一括挿入後の表示されている画像の順番をGUIで操作できればと考えております。

関連するQ&A

  • EXCEL VBA 保護したシートを読込みしたい

    お世話になります。 EXCEL VBAで「データ」というシートあります。ここの100件ほどのデータが入っており、もう1つの「集計」というシートにフォームを作成してそのフォームからVBAを使って集計するのですが、この「データ」シートはユーザーにいじられたくないので保護もしくは非表示にしたいと思っています。 しかし「データ」シートを保護してしまうとVBAで「データ」シート読み込む際にエラーになってしまいます。 何かよい方法はありますでしょうか? 環境 WindowsXP SP3 Excel2003

  • VBAで抽出した画像の数枚をフォームに表示

    VBAで指定したURLにある画像を抽出し、その画像をExcelシートに貼るものを作りましたが、そのうち3枚くらいをユーザフォーム上にも表示したいのですが、どのように記述したらよいでしょうか? 教えていただけたら幸いです。

  • VBAで実行押すまでExcel非表示にしたい

    VBAでユーザフォームを作成しました。 Excelを立ち上げるとExcelシートの前にユーザフォームが出る状態なのですが、 ユーザフォームの実行ボタンを押すまでは非表示にしたいのですが、どのような記述をしたらよいでしょうか? マクロ的に実行ボタンを押すと結果が、Excel上に反映されるので、実行ボタンを押すまで非表示であれば大丈夫です どうか教えてください。

  • vba フォームに取りこんだ画像をシートにコピー

    vba初心者です、宜しければ教えて下さい。 ユーザーフォーム上に画像をドラッグドロップしたら、その画像、ファイル名、パス名がフォーム上に表示されるところまで作成しました。以下のサイトをそのままですが、参考にさせてもらいました。 (参考サイト:https://www.excel-pitin.net/single-post/2017/08/06/画像をドラッグ&ドロップで表示させる) このImage1オブジェクトに上書きした画像を別シートの指定セルA1に貼り付ける方法を知りたいです。いました。 保存後に画像のパスが変わっても表示が崩れないようにしたいので、Picture.insertではなくShapes.AddPictureを使うというところまで、調べたのですが、そこから先で詰まってしまい、分かりません。(参考https://excel-ubara.com/excelvba5/EXCELVBA226.html ) 最終的には、ユーザーフォーム上のプレビュー画像に ・ボタン操作で、画像を拡大縮小する ・マウスでドラッグして位置を直接微調整する 機能も付けれればなと思っています。 宜しければご教授お願いします。

  • EXCELのShape画像をVBAのフォームに表示するには

    EXCELのShape画像をVBAのフォームに表示するには はじめまして EXCEL2007-VBAを勉強中です。 EXCELのShape画像をVBAのフォームへ表示したいのですが、どのように書けば よろしいのでしょうか

  • vba エクセルに記載のURLを順次見に行き画像を

    エクセルのB列に複数のURLが入っています。 1 http://~~~ 2 http://~~~ 等々 ユーザフォームのボタンを押すと、このURLを順次見に行き、別シートに シート番号1   上の1のURL内にある画像を張っていく(並べていく) シート番号2   上の2のURL内にある画像を張っていく(並べていく) というのを終わるまで繰り返していくVBAを作りたいです。 シートはURLの数だけ増やしていくイメージです。 どのようなプログラムにしたらよいでしょうか?

  • Excel2007のVBAでPreviewすると

    初めまして。 Excel2007のVBAで困っていることがあり解決方法を探しています。 もともとExcel97で稼働していたマクロ+VBA付きのシートをExcel2007で稼働させようとしています。 マクロ・VBAで作成されたシート(sheet2)をフォームに配置した印刷ボタンをユーザーに押してもらうことでプレビューを表示します。 印刷ボタンを押したときのプレビューのコード Worksheets("sheet2").PrintOut Copies:=1, Preview:=True でプレビュー画面を表示したところ、印刷ボタンや印刷設定ボタン等の上部にあるボタンが薄いグレーの配色で押せなくなりました。 調べた結果、ScreenUpdatingがfalseだと同じ状態になるとわかったので Application.ScreenUpdating = True Worksheets("sheet2").PrintOut Copies:=1, Preview:=True と書き換えましたが、不具合は解消されませんでした。 またブックを閉じずに、マクロを再起動させて同様の動作をおこなうと 何故かちゃんとボタンが押せるプレビューが表示します。 その状態のブックを保存して改めて開くと同じようにプレビューのボタンが押せなくなっています。 同じような現象で解決された方いらしたら解決方法を教えて頂ければありがたいです。 よろしくお願いいたします。

  • Excel VBAのユーザーフォームについて

    今ユーザーフォームのリストボックスにデータ一覧を表示させ、 データを選択するとExcelのシート上にリストボックスで選んだデータを表示させるプログラムを作っています エクセルにデータを表示させる際に、一緒に画像を表示させたいのですが そのような事は可能でしょうか? また方法があれば教えてください

  • エクセルに張り付けている画像をVBAで指定の範囲を削除し、画像サイズを

    エクセルに張り付けている画像をVBAで指定の範囲を削除し、画像サイズを変更させることは可能でしょうか?似たように情報は見ましたが、どれも上手くいかずに困っています。具体的には、縦1000×横1200の画像があります。(上50、下80、左150、右200)を削除し、縦870×横850の画像にし、さらに90%にサイズをトリミングし、縦435×横425としたいのです。これをVBAで一発で行う方法があれば教えて下さい。また、同じシート、異なるシートに複数の画像があった場合、全てを同時にできましたらなお良いです。以上、宜しくお願いいたします。

  • Excel VBAでユーザーフォームだけ表示したい

    Excel VBAでユーザーフォームを作成し、ファイルを起動時にSheetを非表示にしてユーザーフォームのみ表示させるようにしました。 そうしたところ、 (1)実行ボタンをクリックすると作成されるExcelファイルも表示されなくなる (2)終了ボタンをクリックするとユーザーフォームを含むExcelファイルだけが閉じるのではなく、Excelのアプリ自体が終了してしまう(実行ボタンで作成したExcelファイルは表示したままにしたいのに閉じてしまう) という現象になってしまいました。 某書籍を参考にしてコードを書いたのですが、なぜかこのようになってしまいました。 ※「★」が書籍に指示があった箇所です。 <ThisWorkbook> Private Sub Workbook_Open() Application.Visible = False '★ myForm.Show '★ myForm.MultiPage1.Value = 0 'マルチページ構成のため End Sub Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) '========== [×]ボタン,[Alt]+[F4]キーを無効にする ========== Dim msg As String, title As String msg = "[画面を閉じて終了する]ボタンから終了してください。" title = "終了方法" Dim res As Integer Select Case CloseMode Case vbFormControlMenu res = MsgBox(msg, vbOKOnly + vbCritical, title) Cancel = True End Select ActiveWorkbook.Save '★ Application.Visible = True '★ Application.Quit '★ End Sub 実行したいのは、 (1)ユーザーフォームを含むExcelファイルを起動したときは、起動時にユーザーフォームだけが表示されるようにしたい  ※ワークシートを非表示としたい (2)「実行」ボタンをクリックすると、プログラムが実行されExcelファイルが新規で作成され表示される  ※上記で記載した「★」の部分をコードをコメントアウトしてユーザーフォームから実行ボタンをクリックすると、プログラムが実行され正常にExcelファイルが新規で作成されることは確認済みです。 (3)ユーザーフォームが閉じても、ユーザーフォームのExcelファイルのみ閉じ、新規で作成されたExcelファイルは閉じない。  ※実行ボタンをクリックして新規ファイルを作成しなかったり、他にExcelファイルがなかった場合は、Excelは終了する。 それとあわせて、 (1)を実行できた場合に、再度コードを編集する時はどうしたらExcelの画面が表示できるのか教えて下さい。  ※それとも表示できないのでしょうか? 作成締め切りが迫っていて焦っています。 お知恵のある方どうかお力添え下さい。 よろしくお願い致します。

専門家に質問してみよう