本来は①を行いたいのですが、方法が思いつかず②で作業しましたが、②でもうまくいかずです。
商品番号を入力すると、ネットワーク上の商品画像を表示させる方法があれば教えてください。
-----------------
①
シート1
・セルA1に商品番号をセルに入力すると、
ex:1-12345、11-123など
・セルB1にネットワーク上にある商品番号に合致する商品画像を表示させたい
ex:ファイル名:1-12345.jpg、11-123.jpgなど
-----------------
②
●シート2を作成し、
・A列に商品番号
B列に商品番号にハイパーリンクを張る
ex:=HYPERLINK("\\ネットワーク名\1-12345.jpg","画像を表示")
●シート1
・excelに商品番号をセルに入力すると、
ex:1-12345、11-123など
・セルB1にシート2から商品番号に合致するハイパーリンク先を呼び出す
ex:=HYPERLINK(VLOOKUP(A1,シート2!A:B,2,FALSE),"画像を表示")
上記でシート1のB1をクリックすると
「指定されたファイルを開くことができません。」
というエラーが出て画像が表示されません。
No.3ベストアンサー
- 回答日時:
No2です。
別のことを調べていたら、こんなのを見つけました。
365環境であれば、関数で画像を表示することが可能なようです。
https://support.microsoft.com/ja-jp/office/image …
環境が無いので試していませんけれど、説明文通りだとすると、画像のあるサーバがhttpアクセスに対応している必要がありそうですけれど・・
ご丁寧にありがとうございます(* ˆ ˆ *)
こんな事もできるのですね、もっと勉強して便利に使えるようになろうと思います。
残念ながら環境がなかったので今回はできませんでしたが。
ありがとうございましたm(_ _)m
No.2
- 回答日時:
No1です。
実際の状態が不明なので、以下はいろいろ仮定や推測混じりになってしまいますが・・
>直接画像アドレスを作成できるなら、Excelの基本機能で、それの
>アドレスをHYPERLINKで指定するという方法は無いでしょうか?
商品名と画像名が一致していて、かつ、画像のアドレス(フォルダー)が固定であるとしてよいのなら可能です。
(シート2の表は不要になります)
ご例示のように、画像名が必ず商品番号に".jpg"の拡張子を付けたものになっており、一つのフォルダ内にまとめて入れてあると仮定します。
その条件下であれば、シート1のB1セルに
=HYPERLINK("画像フォルダのフルパス\" & A1 & ".jpg","画像を表示")
としておくことで、実現できると思います。
(↑ フォルダパスの最後に「\」を付けておいてください)
画像を直接表示する場合には、マクロを利用しないとできませんけれど、上記と同じ仮定条件下でよいものとして、簡易的なものを作成してみました。
※ 「シート1」のシートタブを右クリックした際に表示されるメニューから「コードの表示」を選択し、表示されるエディタのコードウィンドウに以下をコピペします。
※ コード中の、「folderPath =」の後に、画像フォルダのフルパスを記入しておきます。
以上で、A1セルに商品番号を記入すると、B1セルに「その番号 + .jpg」の画像が表示されるようになるはずです。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim imgPath As String
Dim tRng As Range
Dim s As Shape
' *** 以下に画像フォルダのフルパスを記述しておく ***
Const folderPath = "\\X:\hoge\fuga"
If Intersect(Target, Range("A1")) Is Nothing Then Exit Sub
Set tRng = Range("B1")
For Each s In ActiveSheet.Shapes
If s.Top >= tRng.Top And s.Top < tRng.Top + tRng.Height _
And s.Left >= tRng.Left And s.Left < tRng.Left + tRng.Width Then
s.Delete
End If
Next s
tRng.Value = ""
If Range("A1").Value = "" Then Exit Sub
imgPath = folderPath & "\" & Range("A1").Text & ".jpg"
If Dir(imgPath) = "" Then
tRng.Value = "NO IMAGE!"
Exit Sub
End If
With ActiveSheet.Shapes.AddPicture(imgPath, _
False, True, tRng.Left, tRng.Top, Width:=-1, Height:=-1)
.LockAspectRatio = True
.Width = tRng.Width
If .Height > tRng.Height Then .Height = tRng.Height
.Top = tRng.Top + (tRng.Height - .Height) / 2
.Left = tRng.Left + (tRng.Width - .Width) / 2
End With
End Sub
早速ありがとうございます。ハイパーリンクの方でできました。
マクロの方もご丁寧にありがとうございました。
ただ、まだ私がマクロがわからないので、学んで使える様になるまで
大事に保存しておき、その際使用させていただきます。
本当にありがとうございました。
No.1
- 回答日時:
こんばんは
実際の状態がちょっとはっきりしませんけれど・・
>A列に商品番号
>B列に商品番号にハイパーリンクを張る
に対して、
>ex:=HYPERLINK(VLOOKUP(A1,シート2!A:B,2,FALSE),"画像を表示")
とした場合、第一引数に当たる
VLOOKUP(A1,シート2!A:B,2,FALSE)
の計算結果は、シート2の「画像を表示」という文字列を返していませんか?
その結果、
>「指定されたファイルを開くことができません。」
となっているということはありませんか?
HYPERLINK関数の第一引数には、リンク先のアドレスを指定する必要がありますので、シート2のB列にはリンクではなく画像のあるアドレスを記入しておく必要があると思われます。
>商品番号を入力すると、ネットワーク上の商品画像を表示させる方法があれば教えてください。
いくつかの方法が考えられます。
ただし、エクセルの基本機能だけで行う場合には、「ネットワーク上の画像」ではなく、そのエクセルに一旦画像を読み込ませておく必要があります。
以下は、その様な方法の説明ページの例です。
(検索すれば、他にもいろいろ見つかります)
https://k-ohmori9616.hatenablog.com/entry/2019/0 …
http://officetanaka.net/excel/function/tips/tips …
数が多かったり随時更新されたりするので、シートに画像を読み込ませたくないような場合には、マクロを利用することで可能になります。
前準備として、シート2に商品番号と画像アドレスの一覧を作成しておく必要はありますが。
『シート1のA1セルに番号が入力されたら、該当する商品を表から検索し、それに対応する画像を読み込んで表示する』
という内容のマクロを作成しておけば、番号の入力で画像を表示することが可能になります。
(ご例示のように、商品番号と画像名称が必ず一致しているようなら、直接画像アドレスを作成できるので一覧表も不要になります)
マクロで画像を読込んで表示する例も検索すればたくさん見つかると思いますが、ここの質問蘭でも時々見かけます。
以下は一例です。
https://oshiete.goo.ne.jp/qa/9966334.html
https://oshiete.goo.ne.jp/qa/13123440.html
fujillinさん、早速ありがとうございます。
画像は思ったより単純ではないのですね…
検索で出てくる様な事を、質問してすみません。理解が乏しく検索ワードが上手く選べて無かったみたいです(ノω・、)
HYPERLINKで第一引数が、リンク先のアドレスを指定になってませんね…
関数の性質を分かってませんでした。
現状、私はExcelの基本機能しか使えず、マクロは今は出来ないのですが、
画像数が多く、随時更新されたりするので、できればシートに画像を読み込ませたくないので。
時間がかかってもマクロを勉強しようと思います。
追加の質問して良いかわかりませんが…可能でしたら教えてください。
マクロの場合に、「商品番号と画像名称が必ず一致しているようなら、直接画像アドレスを作成できる」と書かれてますが、具体的にはどういうことですか?理解できてなくて…
あと、初心者で見当違いな質問かもしれませんが…
直接画像アドレスを作成できるなら、Excelの基本機能で、それのアドレスをHYPERLINKで指定するという方法は無いでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 製品番号での整列と、検索に関して 3 2023/06/28 19:20
- Excel(エクセル) IFERROR、SMALL関数について 2 2022/08/22 23:40
- Excel(エクセル) SUMIFのIF分岐について 4 2023/04/15 12:57
- Excel(エクセル) エクセルで複数設定したハイパーリンク先を、どれを選んでも画面の左上に来るようにしたいのですが・・・ 3 2022/04/07 16:15
- Excel(エクセル) 【条件付き書式】countifsで複数条件を満たしたセルを赤くする方法 2 2023/02/09 23:53
- Excel(エクセル) エクセルの条件付き書式 個人シートを参照して集計シートに色付けしたい 1 2023/06/22 00:39
- Excel(エクセル) Excel関数 情報引用する方法 4 2022/07/31 20:59
- Visual Basic(VBA) VBAコードで質問があります 2 2022/10/20 15:27
- Excel(エクセル) エクセル VBA For Next 繰り返しの書き方を教えてください 6 2022/09/01 14:11
- その他(Microsoft Office) Excelで該当しない項目(#N/Aの商品名)を簡単に表示・抽出させる方法についてです 1 2022/08/25 22:12
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで1月0日と表示される!!
-
Excelの「0」だけ非表示、小数...
-
エクセルで条件に一致したセル...
-
日付が未入力の際はゼロか、空...
-
Rangeメソッドは失敗しました。...
-
VBAで変数に関数式の結果をセッ...
-
エクセルで、加筆修正したセル...
-
(Excel)あるセルに文字を入力...
-
エクセルのルビがついたセルを...
-
Excelシートの保護時にデータの...
-
[EXCELマクロ] シートタブに自...
-
複数シートの同じセル内容を1シ...
-
Excelでスクロールすると文字が...
-
Excelにて、カタカナだけのセル...
-
excelでハイパーリンクになって...
-
エクセルの文字
-
現在時刻をリアルタイムで更新...
-
エクセル A8と同じシート名のG...
-
Excelであるファイルのセルにあ...
-
式の説明をお願いします。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで条件に一致したセル...
-
Excelの「0」だけ非表示、小数...
-
日付が未入力の際はゼロか、空...
-
(Excel)あるセルに文字を入力...
-
エクセルで1月0日と表示される!!
-
別シートのセルを絶対参照にする
-
複数シートの同じセル内容を1シ...
-
Rangeメソッドは失敗しました。...
-
Excelシートの保護時にデータの...
-
エクセルで複写のように自動入...
-
Excelで複数シートの選択セルを...
-
シート参照で変数を使いたい(EX...
-
ExcelでTODAY関数を更新させな...
-
エクセル ハイパーリンクで画像...
-
エクセルで、加筆修正したセル...
-
エクセルのセルに、マウスで選...
-
EXCEL関数でシート名が変わる可...
-
VBAで、セル(Range)のオブジ...
-
Excelのファイル容量が減らない...
-
excelでハイパーリンクになって...
おすすめ情報