エクセルで、製品のストック明細を作らなければなりません。
明細には分かり易いように製品の画像(イラスト)
が必要になります。
入力作業を簡単にする為に、製品番号を入力すれ
ば該当製品のイラストが参照されて表示される方法
はないでしょうか(例えばVLOOKUPの様な)
具体的なレクチャーをお願いします!
残念ながら、ご希望の動作を行う機能はありません。
マクロ(VBA)を作成する事で近い動作をさせる事は可能です。
以下の前提条件でマクロを作成しました。
※前提が異なる場合や、うまく動作しない場合は返信にて教えてください。
■マクロの設定方法と実行
1.新規ブックを作成します。
2.下記urlの手順に従い、プロシージャを作成します。(プロシージャの名前は適宜変更してください)
3.下記のコードをコピーして、Public Sub と End Sub の間に貼り付けます。
4.Visual Basic Editor を閉じます。
5.ファイルを適当な名前を付けて保存します。(開いたままにしておきます)
6.ストック明細のファイルを開きます。
7.製品番号が入力されたセルを1つ選択します。
8.[ツール]メニュー[マクロ][マクロ]で2.で付けた名前のマクロを選択します。
9.[オプション]ボタンをクリックし、「Ctrl + 」の横に q を入力し[OK]をクリックします。
10.[実行]ボタンをクリックする事で画像ファイルが挿入されます。
11.次回以降は、[Ctrl]+[Q]で画像ファイルが挿入されます。
■プロシージャの作成方法
http://www.moug.net/skillup/ebb/evbb/evbb012-2.htm
■プロシージャに貼り付けるコード
Dim tmp As String tmp = ActiveWorkbook.Path & "\画像\" & ActiveCell.Value & ".jpg" If Dir(tmp) > "" Then ActiveCell.Offset(0, 1).Select ActiveSheet.Pictures.Insert(tmp).Select ActiveCell.Offset(0, -1).Select Else MsgBox "ファイルが見付かりません。" End If
もしマクロを使用したくない場合は、画像ファイルを開く為のリンクを
設定する事であれば可能です。製品番号がA1に入力されているとして、
=HYPERLINK("画像\" & A1 & ".jpg") という式になります。
残念ながら、ご希望の動作を行う機能はありません。
マクロ(VBA)を作成する事で近い動作をさせる事は可能です。
以下の前提条件でマクロを作成しました。
※前提が異なる場合や、うまく動作しない場合は返信にて教えてください。
■マクロの設定方法と実行
1.新規ブックを作成します。
2.下記urlの手順に従い、プロシージャを作成します。(プロシージャの名前は適宜変更してください)
3.下記のコードをコピーして、Public Sub と End Sub の間に貼り付けます。
4.Visual Basic Editor を閉じます。
5.ファイルを適当な名前を付けて保存します。(開いたままにしておきます)
6.ストック明細のファイルを開きます。
7.製品番号が入力されたセルを1つ選択します。
8.[ツール]メニュー[マクロ][マクロ]で2.で付けた名前のマクロを選択します。
9.[オプション]ボタンをクリックし、「Ctrl + 」の横に q を入力し[OK]をクリックします。
10.[実行]ボタンをクリックする事で画像ファイルが挿入されます。
11.次回以降は、[Ctrl]+[Q]で画像ファイルが挿入されます。
■プロシージャの作成方法
http://www.moug.net/skillup/ebb/evbb/evbb012-2.htm
■プロシージャに貼り付けるコード
Dim tmp As String tmp = ActiveWorkbook.Path & "\画像\" & ActiveCell.Value & ".jpg" If Dir(tmp) > "" Then ActiveCell.Offset(0, 1).Select ActiveSheet.Pictures.Insert(tmp).Select ActiveCell.Offset(0, -1).Select Else MsgBox "ファイルが見付かりません。" End If
もしマクロを使用したくない場合は、画像ファイルを開く為のリンクを
設定する事であれば可能です。製品番号がA1に入力されているとして、
=HYPERLINK("画像\" & A1 & ".jpg") という式になります。
スゴイです!!出来ました!
VBAは使った事が無いので、全然分からなかったので驚きです。
また、分かり易く説明していただいて感謝です。
これを機に、マクロの勉強もしてみますm(__)m
表示したい画像の指定はフルパスでないといけないようです。
Sub loadPict()
Const pictDirectry As String = "C:\hoge\hoge2\"
Const loadColPosition As Integer = 3
Dim strPath As String
Dim a As Range
'挿入したい画像のフルパスでの指定
strPath = pictDirectry & ActiveCell.Value & ".jpg"
'挿入するセルを選択する
Cells(ActiveCell.Row, ActiveCell.Column + loadColPosition).Select
'画像を挿入するメソッド
ActiveSheet.Pictures.Insert(strPath).Select
End Sub
ダミーです
ありがとうございます。
マクロは使った事が無いので、折角の回答も今のレベルでは分かりません(^_^;)
スゴイです!!出来ました!
VBAは使った事が無いので、全然分からなかったので驚きです。
また、分かり易く説明していただいて感謝です。
これを機に、マクロの勉強もしてみますm(__)m