|
>参考にしたマクロでは、選んだ商品番号を新たなワークシート名として
>画像を表示させるような物だと思うのですが、
>新たなワークシートは作成されなくて良いのです。
>マクロをほぼ丸写しなのでどこを改造して良いのかわからず
>ひょっとしたら全然違うマクロを作っているような気がして投稿しました。
シート上に画像を読み込んでいるコードが見当たらないので、
望み通りの動きはしないと思います。
とりあえず、書き直しましたので、
現在のコードすべてを下記のコードと入れ替えてみてください。
Option Explicit
Private Sub ExitBtn_Click()
Unload Me
End
End Sub
'ここからが転送についてのマクロだと思います'
Private Sub InputBtn_Click()
Dim MyPicture As Object
If NameBox.Value = "" Then
MsgBox "商品番号をお入れ下さい"
NameBox.SetFocus
Exit Sub
ElseIf ListBox1.Value = "" Then
MsgBox "商品の写真をお選び下さい"
ListBox1.SetFocus
Exit Sub
End If
Range("E4") = NameBox.Value
Range("E6") = ClassBox.Value
Set MyPicture = ActiveSheet.Pictures.Insert(ActiveWorkbook.Path & "\" & ListBox1.Value)
With Range("E7")
MyPicture.Top = .Top
MyPicture.Left = .Left
End With
NameBox.Value = ""
ClassBox.Value = ""
ListBox1.SetFocus
End Sub
Private Sub ListBox1_Click()
Image1.Picture = LoadPicture(ActiveWorkbook.Path & "\" & ListBox1.Value)
End Sub
Private Sub UserForm_Initialize()
Dim jpgDir As String
Dim Fname As String
jpgDir = ActiveWorkbook.Path & "\*.jpg"
Fname = Dir(jpgDir, vbNormal)
ListBox1.AddItem Fname
Do
Fname = Dir
ListBox1.AddItem Fname
Loop While Fname <> ""
End Sub
ただ、不明な点がいくつかあるので、
これでも完璧には動作しないと思います。
以下の5つの質問に答えていただけたら、もう一度書き直します。
1.『リストボックスに商品番号を表示させて』と書いてありますが、
このコードですと、リストボックスには画像のファイル名が表示されるはずです。
画像のファイル名=商品名ということですか?
2.『任意のセル(例 B4 設置番地 V44、B6 設置番地 W44の)に』とありますが、
任意のセルというどういう意味ですか?
また、B4 ならば V44、B6 ならば W44 というのはなぜですか?
3.『テキストボックス1で入力した商品番号を』とありますが、
画像のファイル名=商品名ではないのですか?
4.『(イメージボックの画像と拡大された画像は別のファイルフォルダに保存ます)』とありますが、
別のフォルダとはどこですか?
5.コードの中に『.Range("E6") = ClassBox.Text』とありますが、
"ClassBox" とはなんですか?(TextBoxですか?)
また、どんな値を入力するものですか?
※半角カタカナは文字化けの原因になります。
インターネット上ではお使いにならない方が良いと思います。
|
|