Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


9074 / 13646 ツリー ←次へ | 前へ→

【29484】リスト選択で別々画像表示させる方法を・・・ 初心者 05/10/6(木) 10:49 質問[未読]
【29489】Re:リスト選択で別々画像表示させる方法... hine 05/10/6(木) 12:06 発言[未読]
【29494】Re:リスト選択で別々画像表示させる方法... 初心者 05/10/6(木) 13:23 質問[未読]
【29498】Re:リスト選択で別々画像表示させる方法... 初心者 05/10/6(木) 14:56 お礼[未読]
【29503】Re:リスト選択で別々画像表示させる方法... hine 05/10/6(木) 15:56 発言[未読]

【29484】リスト選択で別々画像表示させる方法を・・・
質問  初心者  - 05/10/6(木) 10:49 -

引用なし
パスワード
   フォーム上に、
リストボックスが一つ
イメージを一つ用意して、
リストボックスのリストを選択すると、
イメージに画像が表示され、
リストごとに違う画像を表示させるものを作りたいのですが、
どうしていいかわかりません。

Private Sub ListBox1_Click()
  Image1.Picture = LoadPicture(ThisWorkbook.Path & "\menu_04.jpg")
End Sub

と書いているのですが、
リストごとに違う画像を表示させるには、どう編集していいのかわかりません。
リストは、
Private Sub UserForm_Initialize()
  ListBox1.RowSource = "sheet1!B3:B13"
End Sub
にて表示させています。

どうか、ご教授宜しくお願いします。

【29489】Re:リスト選択で別々画像表示させる方法...
発言  hine  - 05/10/6(木) 12:06 -

引用なし
パスワード
   初心者 さん
こんにちは
ヒントです

Private Sub ListBox1_Click()
MsgBox ListBox1.Value
End Sub

【29494】Re:リスト選択で別々画像表示させる方法...
質問  初心者  - 05/10/6(木) 13:23 -

引用なし
パスワード
   ▼hine さん:
>初心者 さん
>こんにちは
>ヒントです
>
>Private Sub ListBox1_Click()
>MsgBox ListBox1.Value
>End Sub

hineさん
ヒントありがとうございます。
お忙しい中、ありがとうございます。
初心者の自分には、ヒントを見ながら試行錯誤しました。
その後、ヒントを元に検索して周り、
Private Sub ListBox1_Change()
  Dim no As Variant
  Dim pname As String
  menu_ = ListBox1.Value
  
  pname = "ファイルの場所" & Format(menu_, "00") & ".jpg"
  If Dir(pname) <> "" Then
    Image1.Picture = LoadPicture(pname)
  Else
    Image1.Picture = LoadPicture()
  End If
End Sub

としてみました。
しかし、画像は表示されず、また途方に暮れてしまいました。
何をどうしたらよいでしょうか?
度々、申し訳ありません。
ファイル名は「menu_04.jpg」となっており、
連番で、「menu_16.jpg」まであります。
よければ、またご教授よろしくお願いします。

【29498】Re:リスト選択で別々画像表示させる方法...
お礼  初心者  - 05/10/6(木) 14:56 -

引用なし
パスワード
   ▼hine さん:
>初心者 さん
>こんにちは
>ヒントです
>
>Private Sub ListBox1_Click()
>MsgBox ListBox1.Value
>End Sub

hineさんありがとうございました。
なんとか別々の画像を表示させることができました。

あらかじめ作っておいたデータに番号を振り、
Private Sub ListBox1_Change()
  Dim no As Variant
  Dim pname As String
  no = ListBox1.ListIndex
  
  pname = "ファイルの場所 & Format(no, "00") & ".jpg"
  If Dir(pname) <> "" Then
    Image1.Picture = LoadPicture(pname)
  Else
    Image1.Picture = LoadPicture()
  End If
End Sub
上記をリストボックスに書き込んだら、
なんとか表示させることができました。

ヒントを与えてくださったこと、とても感謝しています。
また、お世話になると思いますが、
これから、初心者ながら少しずつ勉強していきたいと思いますので
よろしくお願いします。
ありがとうございました。

【29503】Re:リスト選択で別々画像表示させる方法...
発言  hine  - 05/10/6(木) 15:56 -

引用なし
パスワード
   初心者 さん
こんにちは
ヒント出しっぱなしですいませんでした
もうみていないかも

ファイル名をSheet1のB列に書き込み
リストボックスに表示しています。
リストボックスをクリックすると
画像が表示されます。
参考になるかな?


'----------------------------------------------------
Private Sub ListBox1_Click()
Dim myPic As String
myPic = ThisWorkbook.Path & "\" & ListBox1.Value
Image1.Picture = LoadPicture(myPic)
Me.Repaint
End Sub
'----------------------------------------------------
Private Sub UserForm_Initialize()
Dim myPath As String
Dim myFname As String
Dim myL As Long
Dim myR As String

myPath = ThisWorkbook.Path & "\"
myFname = Dir(myPath & "*.jpg")

Do While myFname <> ""
  Worksheets("Sheet1").Range("B65536").End(xlUp).Offset(1, 0).Value = myFname
  myFname = Dir()
Loop

myL = Worksheets("Sheet1").Range("B65536").End(xlUp).Row
myR = "Sheet1!B2:B" & myL
ListBox1.RowSource = myR

If Worksheets("Sheet1").Range("B2").Value = "" Then
  ListBox1.RowSource = ""
End If

End Sub
'----------------------------------------------------

9074 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free