- ベストアンサー
Excelで数字を入れたら対応する図を呼び出したい
いつもお世話になっております。 Excelで複数の地区の管理をしています。 地区には通し番号が付いていますおり、報告書を作るときにその通し番号入力します。 その時にスキャナで取り込んで通し番号を付けてある地図を入っているフォルダから自動的に呼んでくるようにはできないでしょうか? わかりにくい文章ですみません。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
マクロになりますがいいですか? このサンプルはA1セルにファイル名(拡張子なし)を入力したらD3セルに指定した画像を貼り付けるものです。 試しに新しいブックを開き「シート名右クリック」→「コードの表示」で開く画面に以下のマクロを貼り付けてください。マクロ2行目~5行目はご自身の環境に合わせて修正が必要です。 Private Sub Worksheet_Change(ByVal Target As Range) Const trgR As String = "A1" '地図通し番号を入力するセル Const insR As String = "D3" '挿入画像の左上のセル Const path As String = "Z:\" 'ファイルの格納フォルダ Const pic As String = ".jpg" '「.(半角)」+ファイルの拡張子" Dim shp As Shape Dim buf As String If Target.Address(0, 0) = trgR Then For Each shp In ActiveSheet.Shapes '既に表示されている画像を削除する処理 If Not Intersect(Range(insR), Range(shp.TopLeftCell, _ shp.BottomRightCell)) Is Nothing Then shp.Delete End If Next Range(insR).Select buf = Dir(path & Target.Value & pic) If buf <> "" Then '入力したファイル名があるかチェック ActiveSheet.Pictures.Insert (path & Target.Value & pic) Else MsgBox "指定したファイルがありません" End If End If Target.Offset(1, 0).Select End Sub これはあくまでサンプルですので、実際のシートにあわせてマクロを修正する必要があると思いますが、それはご自身でお願いします。
その他の回答 (2)
- zap35
- ベストアンサー率44% (1383/3079)
#01です。反応がありませんね。マクロはお気に召しませんでしたか? マクロを使用しない方法もありますよ。 http://okwave.jp/qa3235698.html で参考になりそうなURLを2つ紹介していますので、ご覧ください でも「複数の地区」の数がが多くなると、少し手間かもしれません。
お礼
本当にありがとうございます! 色々とすみませんでした。 やってみます。ありがとうございました!
- imogasi
- ベストアンサー率27% (4737/17069)
マクロで無いとできないと思います。 多分VBAの経験がなさそうで、質問者には無理でしょう。本来難しいことを手をつけすぎです。幸い既に回答を出していただいているので、そのまま使う手もありますが、丸投げして回答者にやってもらうというパターンで、この質問コーナーの主旨に照らして好ましく無いと思います。 ーー 勉強するなら ツールーマクロー新しいマクロの記録状態にして、 挿入 図 ファイルから 図のファイル名指定 の操作をやり そのコードを見ればおおよそのやり方(コード)は判ります。 後は番号指定と図のファイル名指定の関連をプログラムでつける方法と、イベントといいますが、番号を入れたときに上記VBAが実行される仕組みの理解と仕組みが必要ですが、易しい概念ではありません。 ボタンをクリックしたとき セルの値(番号が)が変わった際 などが考えられます。
お礼
厳しい御意見真摯に受けて止めさせていただきます。 丸投げというつもりは無かったのですが・・・。 ありがとうございました。
お礼
お礼が遅れて申し訳ありません! マクロが必要なんですね。 やってみます。本当にありがとうございました!