• ベストアンサー

Excelで数字を入れたら対応する図を呼び出したい

いつもお世話になっております。 Excelで複数の地区の管理をしています。 地区には通し番号が付いていますおり、報告書を作るときにその通し番号入力します。 その時にスキャナで取り込んで通し番号を付けてある地図を入っているフォルダから自動的に呼んでくるようにはできないでしょうか? わかりにくい文章ですみません。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

マクロになりますがいいですか? このサンプルは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 これはあくまでサンプルですので、実際のシートにあわせてマクロを修正する必要があると思いますが、それはご自身でお願いします。

sasami127
質問者

お礼

お礼が遅れて申し訳ありません! マクロが必要なんですね。 やってみます。本当にありがとうございました!

その他の回答 (2)

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.3

#01です。反応がありませんね。マクロはお気に召しませんでしたか? マクロを使用しない方法もありますよ。 http://okwave.jp/qa3235698.html で参考になりそうなURLを2つ紹介していますので、ご覧ください でも「複数の地区」の数がが多くなると、少し手間かもしれません。

sasami127
質問者

お礼

本当にありがとうございます! 色々とすみませんでした。 やってみます。ありがとうございました!

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

マクロで無いとできないと思います。 多分VBAの経験がなさそうで、質問者には無理でしょう。本来難しいことを手をつけすぎです。幸い既に回答を出していただいているので、そのまま使う手もありますが、丸投げして回答者にやってもらうというパターンで、この質問コーナーの主旨に照らして好ましく無いと思います。 ーー 勉強するなら ツールーマクロー新しいマクロの記録状態にして、 挿入 図 ファイルから 図のファイル名指定 の操作をやり そのコードを見ればおおよそのやり方(コード)は判ります。 後は番号指定と図のファイル名指定の関連をプログラムでつける方法と、イベントといいますが、番号を入れたときに上記VBAが実行される仕組みの理解と仕組みが必要ですが、易しい概念ではありません。 ボタンをクリックしたとき セルの値(番号が)が変わった際 などが考えられます。

sasami127
質問者

お礼

厳しい御意見真摯に受けて止めさせていただきます。 丸投げというつもりは無かったのですが・・・。 ありがとうございました。

関連するQ&A

  • エクセルの関数

    エクセルの表で、通し番号を自動で入力したいと思います。 番号は、頭にアルファベットが入っています。A1110,A1111・・です。 この通し番号を関数を使って、最初の番号を入力したら、指定されたセルに自動で入力出来る様にしたいのですが、どんな方法があるか教えて下さい。

  • エクセルで数字を振り分ける

    エクセルで、例えば複式簿記の仕訳伝票のように数字を入れたらその数字が複数のセルに自動的に入力されるようにするにはどうすればいいでしょうか? 例えば、10,000円入金された場合、A1に10,000と入力すれB1,C1,D1にも自動的に10,000と入力される。 また、別のシートやOneDriveのエクセルにも入力することはできますか?

  • Ofice2007(エクセル)で重複数字を除外

    Ofice2007(エクセル)で、部品番号のステータス管理を実施しています。 複数の部署で編集しているので、たまに部品番号が重複してしまいます。 部品番号欄に入力する時に同じ番号があった場合、除外、又はアラーム が立つ方法を教えて下さい。

  • Excel 全角数字を半角数字に

    エクセルを使ってデータを管理しています。 郵便番号の項目には、500件ぐらい郵便番号が入力されていますが、全角数字で入力されたデータと、半角数字で入力されたデータが混じっていて、見辛いし管理もしづらいです。  関数を使って、全角数字を半角数字に変換する方法はありますでしょうか?

  • エクセルで顧客名簿  通し番号とその例外

    エクセルで顧客名簿を作っています。 Aに顧客の通し番号 Bにお客さんの名前を入れるとして、 でも二度目以降のお客さんのときには (つまり前と同じ名前を入力したとき)、 前と同じ通し番号の後ろに -1 とか -2 とかつけて 何回リピートしてるかわかるようにしたいんですけど、 どうしたらいいでしょうか? ちなみに通し番号自体も、 B以降になにか入力されたら 自動的に入るようにしたいです。 よろしくお願いいたします。

  • エクセルの入力について。

    エクセルで、表に0001~の通し番号を入力したいのですが、 0001と入力すると、1しか出ません。 何か設定があったと思うのですが、思い出せません。 どのように設定すればいいのでしょうか? お教えいただけると助かります。 宜しくお願いいたします。

  • エクセルでの採番と保存方法について

    エクセルの1つのファイルに シート1~3には同じフォーマットの報告書が入っています。1はAさん用2はBさん用3はCさん用です。各自このファイルにアクセスして報告書を好きな時に作成します。 シート4にはこの報告書の管理台帳が有ります。台帳にはNO1~3が入っていて報告書の題名と報告書の作成者を入力する欄が有ります。 質問は 各自が報告書を入力し終えた時点でシート4の台帳に作られた番号NO1~3が自動採番され、報告書の所定のセルに自動でコピーされなおかつシート4の台帳には番号の後に報告書の題名と作成者氏名とが自動で入力される方法はどうやったらよいかという事です。 わかりづらい質問かもしれませんが 宜しくお願い致します。

  • エクセル2010または2007でのVBA

    初めまして。 早速ですがエクセルにて、プロジェクト管理票を作っております。 エンジニアが作った作業工程計画のエクセルブックをプロジェクトの通し番号をつけて保存し、 これまでのプロジェクト分すべてを1つのフォルダに保管しています。 その後総務で、この作業工程計画エクセルから、コピー&ペーストでデータを引っ張ってきているのですが、 この作業をVBAで自動化するには、どのようにコードを書けば宜しいでしょうか? ちなみに、コピペするセルは、書かれている情報すべてです。 ですが、あるものはセルA1からG21まで、あるものはA1からC6までしかありません。 よろしくご教示ください。

  • エクセル2000数字を入れると・・・

    いつも皆さんの明快な解答有り難う御座います。 先日もエクセルの事で質問したばかりなのですが又解らなくなってしまいました。 どのセルに数字を入れても必ず100で割った数が入力される様になってしまいました。1を入力すると、0.01という感じです。セルの書式設定→表示形式を見ても「標準」になっています。サンプルは上の例だと「0.01」となっています。郵便番号のように途中に「-」を入れるとそのままの表示になります。 こうなったのは、住所録を作り友達に送り、新たな人を入れてもらい又メールで送ってもらい、自分のフォルダーに保存。(名前を変えていたので別のファイルとして)新たに書き加えた人の名前、住所、電話等をコピーしてもとの住所録に貼り付けるという作業をしてからの様なんです。元のファイルに書かれている数字を触るとこれも同じになります。(たとえば「3」が入っていて上書きすると「0.03」となる) エクセル技道場も見ましたがやっぱり解りません。私は何をやらかしてしまったんでしょう? どなたかよきアドバイスをお願いします。

  • エクセルで数字の自動入力について

    すみません。 現在、仕事でエクセルに自動で番号が振られていくシートを作りたいと思っています。 エクセル 2003 OS WINDOWS VISTA A1のセルから始まる表で例えばG1に"済”か”未"の文字が入力されるとA1のセルに『1』G2に入力されるとA2には『2』という具合に G列に文字が入力されると自動でA列に数字が入力される、という設定にしたいのです。 IFやVLOOKUPで挑戦してみましたが、いまいちうまくいきません。。。 どなたか、お詳しい方がいらしたらご教示お願いいたします。 

専門家に質問してみよう