
お世話になります。
エクセルで,次のようにしたい場合はどうすればいいのでしょうか。
マイピクチャの中に,それぞれ320001~320005という名前の写真が計5枚入っています。
エクセルのA1のセルに,320001を入力すると,320001の名前の写真を表示,320002を入力すると320002の名前の写真を表示という具合にしたいのですが。
写真を表示するのは,どこか特定のセルでも構いませんし,図形(四角など)を挿入して,その中に表示でも構いません。
できれば関数で解決したいのですが,無理ならマクロでも結構です。
ご教授,よろしくお願いします。
No.1ベストアンサー
- 回答日時:
イメージコントロールを使います。
http://www.moug.net/tech/exvba/0090069.html
このなかの最初のVBAプログラムで、ファイル名を特定セルから読むようにすればよいです。
Image1.Picture = LoadPicture(Range("A1").Value)
No.3
- 回答日時:
せっかくですし、マクロを作るときの考え方を軽くだけ。
処理の流れとして、
・「特定の名前」がついている図が有ったら、その図を削除
・A1セルの内容を確認し、写真を挿入
・表示したい位置に写真を移動
・写真に「特定の名前」をつける
という処理をするマクロを、セルの内容が変更されたときに走るように書いてやればOKです。
マクロを作り、管理出来るのであれば、こちらの方が遥かに簡単です。
No.2
- 回答日時:
関数「のみ」ではおそらく、無理です。
マクロを使えばある程度簡単に出来ます。
ですが、マクロを使わず一般機能だけでもなんとかできます。
とりあえず、画像を二つに絞って手順を説明していきます。
文字だけで説明するのは困難なので、適宜、日本語を補ってお読みください。
まず、欲しい画像を一つのシートに並べます(シート名を「写真」とします)。
「写真」シートの行高・列幅は「全て同じ」にしておくと後が楽です。
おそらく、デフォルト(初期値)のままがやりやすいです。
1枚目の写真(320001)を挿入し、表示したいサイズに拡縮します。
写真を右クリック⇒サイズとプロパティから、「高さ」を10cmにしました。
これで、A1:G21の範囲にぴたりと合うサイズです。
2枚目の写真(320002)を挿入、同様に高さを10cmにして、
A23:G43の範囲に移動させます。
これで写真の準備が出来ました。(実際は5枚ですかね?必要分、同様に準備しましょう。)
続いて・・名前(範囲名)を定義します。
2007以降であれば、数式タブから「名前の管理」を選択。
ダイアログ内の「新規作成」ボタンを押します。
出てきたダイアログの「名前」に「_230001」、「参照範囲」は「A1:G21」として、OK。
もう一度「新規作成」し、「名前」に「_230002」、「参照範囲」は「A23:G43」として、OK。
2003以前なら、挿入メニューから名前⇒定義を、それぞれ選択します。
ダイアログ内の「名前」に「_230001」、「参照範囲」は「A1:G21」として、追加ボタン。
もう一つ、「名前」に「_230002」、「参照範囲」は「A23:G43」として、追加ボタン。
それぞれ2つ、名前が定義出来たらOKボタンで閉じます。
表示領域の準備をします。
F5キーまたはCtrl+Gを押し、ジャンプのダイアログを出します。
先ほど定義した「名前」が2つ表示されているはずですので、どちらかを選択し、OKします。
その状態で、Ctrl+Cでコピーします。右クリック⇒コピーはNGです。
表示したいシートをアクティブにし、
2007以降であればホームタブの貼り付けの「▼」のなかから「リンクされた図」を選択。
2003以前であれば、Shift+編集メニューから「図のリンク貼り付け」で貼り付けます。
先ほどの「ジャンプ」で選択した図が張り付くはずです。
これを表示したい場所に移動させます。
表示したいシートをアクティブにしたまま、名前をもう一つ、先ほどの手順で定義します。
「名前」には「表示画像」、参照範囲に「=INDIRECT("_"&$A$1)」とし、名前を追加しましょう。
画像の表示領域を選択し、数式バーに入っている参照式を「=表示画像」に書き換えます。
以上で準備完了です。
表示したいシートのA1セルに「320001」「320002」と半角で入力し、
画像が変わるのをご確認くださいませ。
おつかれさまでした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Microsoft Officeを2台目のPCに...
-
マイクロソフト オフィスのサポ...
-
エクセル 日付順に並べてかえた...
-
Microsoft Formsの「個人情報や...
-
パソコンWindows11 Office2021...
-
outlookのメールが固まってしま...
-
Office2024インストール後の疑問点
-
Office 2021 Professional Plus...
-
大学のレポート A4で1枚レポー...
-
エクセルからメールを作れるか...
-
office2019 のoutlookは2025年1...
-
会社のOutlookにてメールを予約...
-
Excelで〇のついたものを抽出し...
-
Teams内でショートカットって貼...
-
Office2021を別のPCにインスト...
-
マクロ自動コピペ 貼り付ける場...
-
エクセル:一定間隔で平均値を...
-
libreoffice calcで行を挿入し...
-
Officeを開くたびの「再起動メ...
-
【Excel VBA】PDFを作成して,...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Microsoft Officeを2台目のPCに...
-
大学のレポート A4で1枚レポー...
-
マイクロソフト オフィスのサポ...
-
Office2021を別のPCにインスト...
-
エクセル 日付順に並べてかえた...
-
outlookのメールが固まってしま...
-
Excelで〇のついたものを抽出し...
-
Microsoft Formsの「個人情報や...
-
マクロ自動コピペ 貼り付ける場...
-
Office2024インストール後の疑問点
-
office2019 のoutlookは2025年1...
-
エクセルで質問です。 ハイパー...
-
エクセル 同じ数字を他の列に自...
-
別シートの年間行事表をカレン...
-
【Excel VBA】PDFを作成して,...
-
Excel 日付を比較したら、同じ...
-
パソコンWindows11 Office2021...
-
Office 2021 Professional Plus...
-
エクセル:一定間隔で平均値を...
-
Teams内でショートカットって貼...
おすすめ情報