cách load hình ảnh lên user form khi chọn giá trị trong combobox

Liên hệ QC

mylanlinh

Thành viên mới
Tham gia
24/11/10
Bài viết
18
Được thích
1
Mong quý anh/chị/em hướng dẫn mình cách load hình ảnh lên user form khi chọn giá trị trong combobox
(File mình đính kèm (Combobox MANY Image), không biết sai chỗ nào)
(Khi mình chọn mỗi mục ở combobox thì ngoài việc load từng giá trị lên textbox bên dưới thì cũng sẽ load từng hình ảnh tương ứng của từng mục)
Xin chân thành cảm ơn ạ!
 

File đính kèm

  • Combobox MANY Image.xlsm
    26.1 KB · Đọc: 11
Chỉnh sửa lần cuối bởi điều hành viên:
Mong quý anh/chị/em hướng dẫn mình cách load hình ảnh lên user form khi chọn giá trị trong combobox
(File mình đính kèm, không biết sai chỗ nào)
(Khi mình chọn mỗi mục ở combobox thì ngoài việc load từng giá trị lên textbox bên dưới thì cũng sẽ load từng hình ảnh tương ứng của từng mục)
Xin chân thành cảm ơn ạ!
Bạn sai nhiều chỗ lắm
UserForm_Initialize()
mà ghi là
UserForm1_Initialize() <-- dư số 1
Sheets("Sheet1")
mà ghi là:
Sheets("Sheetl") <--- thay vì số một bạn lại ghi thành chữ "en lờ"
----------------
Đại khái sửa thành vầy:
Mã:
Private Sub UserForm_Initialize()
  Dim i As Long, LastRow As Long, ws As Worksheet
  Set ws = Sheets("Sheet1")
  LastRow = ws.Range("A" & Rows.Count).End(xlUp).Row
    For i = 2 To LastRow
    Me.ComboBox1.AddItem ws.Cells(i, "A").Value
  Next i
End Sub

Private Sub ComboBox1_Click()
  Dim lRow As Long, ws As Worksheet, rng As Range
  Dim fpath As String
  fpath = " F:\OneDrive\tao flashcard\User form Image\"
  Set ws = Sheets("Sheet1")
  Set rng = ws.Range("A2:G10000")
  lRow = Me.ComboBox1.ListIndex + 1
  Me.TextBox1.Text = rng(lRow, 2).Value
  Me.TextBox2.Text = rng(lRow, 3).Value
  Me.TextBox3.Text = rng(lRow, 4).Value
  Me.TextBox4.Text = rng(lRow, 5).Value
  Me.TextBox4.Text = rng(lRow, 6).Value
  Me.TextBox5.Text = rng(lRow, 7).Value
  Me.Imagel.Picture = LoadPicture(fpath & Me.TextBoxl.Text & Me.TextBox2.Text & ".jpg ")
End Sub
Chỗ load picture tự bạn sửa cho đúng, tôi không biết đâu
 
Upvote 0
Mong quý anh/chị/em hướng dẫn mình cách load hình ảnh lên user form khi chọn giá trị trong combobox
(Khi mình chọn mỗi mục ở combobox thì ngoài việc load từng giá trị lên textbox bên dưới thì cũng sẽ load từng hình ảnh tương ứng của từng mục)
Xin chân thành cảm ơn ạ!
Code trong form

Mã:
Private Sub ComboBox1_Change()
    Dim i As Integer
    On Error Resume Next
    For i = 1 To 5
       Controls("TextBox" & i) = ComboBox1.Column(i)
    Next i
    Image1.Picture = LoadPicture(ThisWorkbook.Path & "\Images\" & ComboBox1.Column(6) & ".jpg")
End Sub

Private Sub UserForm_Initialize()
    With ComboBox1
        .ColumnHeads = True
        .ColumnCount = 5
        .RowSource = "Sheet1!A2:G29"
        .ColumnWidths = "30;90"
        .ListStyle = 1
    End With
End Sub

Bạn xem ví dụ ở file đính kèm nhé.
 

File đính kèm

  • LoadPicture.rar
    1.1 MB · Đọc: 30
Upvote 0
Bạn xem ví dụ ở file đính kèm nhé.
Đã có bài ở đây nè
 
Upvote 0
Đã có bài ở đây nè
Gộp 2 đề tài lại làm 1 vì 2 đề tài đều có trả lời.
 
Upvote 0
Mong quý anh/chị/em hướng dẫn mình cách load hình ảnh lên user form khi chọn giá trị trong combobox
(File mình đính kèm (Combobox MANY Image), không biết sai chỗ nào)
(Khi mình chọn mỗi mục ở combobox thì ngoài việc load từng giá trị lên textbox bên dưới thì cũng sẽ load từng hình ảnh tương ứng của từng mục)
Xin chân thành cảm ơn ạ!
Không có phần dùng Form để nhập liệu, không lẽ nhập trực tiếp vào Sheet?
 
Upvote 0
Bạn sai nhiều chỗ lắm
UserForm_Initialize()
mà ghi là
UserForm1_Initialize() <-- dư số 1
Sheets("Sheet1")
mà ghi là:
Sheets("Sheetl") <--- thay vì số một bạn lại ghi thành chữ "en lờ"
----------------
Đại khái sửa thành vầy:
Mã:
Private Sub UserForm_Initialize()
  Dim i As Long, LastRow As Long, ws As Worksheet
  Set ws = Sheets("Sheet1")
  LastRow = ws.Range("A" & Rows.Count).End(xlUp).Row
    For i = 2 To LastRow
    Me.ComboBox1.AddItem ws.Cells(i, "A").Value
  Next i
End Sub

Private Sub ComboBox1_Click()
  Dim lRow As Long, ws As Worksheet, rng As Range
  Dim fpath As String
  fpath = " F:\OneDrive\tao flashcard\User form Image\"
  Set ws = Sheets("Sheet1")
  Set rng = ws.Range("A2:G10000")
  lRow = Me.ComboBox1.ListIndex + 1
  Me.TextBox1.Text = rng(lRow, 2).Value
  Me.TextBox2.Text = rng(lRow, 3).Value
  Me.TextBox3.Text = rng(lRow, 4).Value
  Me.TextBox4.Text = rng(lRow, 5).Value
  Me.TextBox4.Text = rng(lRow, 6).Value
  Me.TextBox5.Text = rng(lRow, 7).Value
  Me.Imagel.Picture = LoadPicture(fpath & Me.TextBoxl.Text & Me.TextBox2.Text & ".jpg ")
End Sub
Chỗ load picture tự bạn sửa cho đúng, tôi không biết đâu
Vâng, xin chân thành cảm ơn ạ!
Bài đã được tự động gộp:

Code trong form

Mã:
Private Sub ComboBox1_Change()
    Dim i As Integer
    On Error Resume Next
    For i = 1 To 5
       Controls("TextBox" & i) = ComboBox1.Column(i)
    Next i
    Image1.Picture = LoadPicture(ThisWorkbook.Path & "\Images\" & ComboBox1.Column(6) & ".jpg")
End Sub

Private Sub UserForm_Initialize()
    With ComboBox1
        .ColumnHeads = True
        .ColumnCount = 5
        .RowSource = "Sheet1!A2:G29"
        .ColumnWidths = "30;90"
        .ListStyle = 1
    End With
End Sub

Bạn xem ví dụ ở file đính kèm nhé.
Ôi, tuyệt vời. Một lần nữa, em được sự giúp đỡ của HAI LÚA MIỀN TÂY. Em rất chân thành cảm ơn!!!!!
 
Upvote 0
Bạn sai nhiều chỗ lắm
UserForm_Initialize()
mà ghi là
UserForm1_Initialize() <-- dư số 1
Sheets("Sheet1")
mà ghi là:
Sheets("Sheetl") <--- thay vì số một bạn lại ghi thành chữ "en lờ"
----------------
Đại khái sửa thành vầy:
Mã:
Private Sub UserForm_Initialize()
  Dim i As Long, LastRow As Long, ws As Worksheet
  Set ws = Sheets("Sheet1")
  LastRow = ws.Range("A" & Rows.Count).End(xlUp).Row
    For i = 2 To LastRow
    Me.ComboBox1.AddItem ws.Cells(i, "A").Value
  Next i
End Sub

Private Sub ComboBox1_Click()
  Dim lRow As Long, ws As Worksheet, rng As Range
  Dim fpath As String
  fpath = " F:\OneDrive\tao flashcard\User form Image\"
  Set ws = Sheets("Sheet1")
  Set rng = ws.Range("A2:G10000")
  lRow = Me.ComboBox1.ListIndex + 1
  Me.TextBox1.Text = rng(lRow, 2).Value
  Me.TextBox2.Text = rng(lRow, 3).Value
  Me.TextBox3.Text = rng(lRow, 4).Value
  Me.TextBox4.Text = rng(lRow, 5).Value
  Me.TextBox4.Text = rng(lRow, 6).Value
  Me.TextBox5.Text = rng(lRow, 7).Value
  Me.Imagel.Picture = LoadPicture(fpath & Me.TextBoxl.Text & Me.TextBox2.Text & ".jpg ")
End Sub
Chỗ load picture tự bạn sửa cho đúng, tôi không biết đâu
E chào bác,bác cho e hỏi là load ảnh ra từ listbox(ko phải combobox)có làmđược khôngạ
 
Upvote 0
Web KT
Back
Top Bottom