Show ảnh lên Form. Nhờ bác ndu96081631

Liên hệ QC
Status
Không mở trả lời sau này.
Cám ơn Anh Nghĩa đã thương giúp em, nhưng sao không nạp tên ảnh vào ListBox để chọn hả Anh Nghĩa, mà em chọn ID A00001 thì không hiện ảnh vào Image1. Mong Anh giúp em với!!!!
Thì bạn cứ làm như tôi nói đi rồi sau đó mở form lên thì biết ngay kết quả mà???

Hay bạn muốn không thông qua sheet mà nhập trực tiếp vào Form luôn? Tức không cần tải hình vào sheet nữa?
 
Lần chỉnh sửa cuối:
Anh Nghĩa xem dùm em File đính kèm, sao em chọn ID trong ListBox mà không hiện ảnh
 

File đính kèm

Anh Nghĩa xem dùm em File đính kèm, sao em chọn ID trong ListBox mà không hiện ảnh
À quên, tại còn vương vấn cái đuôi!

Mã:
Sub InsertPicture()
    Dim c As Long
    Dim WS As Worksheet
    Dim Target As Range
    Dim PicPath As String, PicName As String
    Set WS = Sheets("Sheet1")
    PicPath = "D:\Nhan More\"
    On Error Resume Next
    For c = 1 To 5
        Set Target = WS.Range("G2")(c)
[COLOR=#0000ff]        PicName = "A000" & Format(c, "00")[/COLOR]
        'Xoa hinh cu neu ton tai:
        WS.Shapes(PicName[COLOR=#ff0000] & ".jpg"[/COLOR]).Delete
        'Nhap hinh moi vao cell:
        With WS.Pictures.Insert(PicPath & PicName [COLOR=#ff0000]& ".jpg"[/COLOR])
            .Name = PicName
            .Left = Target.Left
            .Top = Target.Top
            .Width = Target.Width
            .Height = Target.Height
        End With
    Next
End Sub

Bạn nhớ là xóa hết hình bằng thủ công nha rồi chạy code, sau này thì không cần xóa thủ công nữa, hình cũ sẽ tự xóa vì lúc này nó có tên rồi.
 
Hoàng Trong Nghĩa đã viết:
Hay bạn muốn không thông qua sheet mà nhập trực tiếp vào Form luôn? Tức không cần tải hình vào sheet nữa?
Không thông qua Sheet mà nhập trực tiếp vào Form được không Anh???.
Nếu được, mong Anh giúp với.
 
Không thông qua Sheet mà nhập trực tiếp vào Form được không Anh???.
Nếu được, mong Anh giúp với.
Cũng phải nên như thế, bởi vì lưu hình trên sheet chỉ tổ làm nặng bộ nhớ của file mà thôi! Nhưng như code vừa rồi đã giải quyết vấn đề chưa?
 
Sao em thử code InsertPicture mới thì lại không nạp hình vào sheet1 cột G, Anh Nghĩa ơi. Mong Anh xem giúp!!!
 
Xin lỗi Anh Nghĩa em quên cái dấu "" chổ : PicPath = "D\Nhan More". Được rồi Anh Nghĩa ơi. Ah Anh nghĩ cho em hỏi tý: nếu tên của ảnh không phải là "A0001".. vv..vv mà là Arista. Classic , Sarah.. thì sao hả Anh???
 
Xin lỗi Anh Nghĩa em quên cái dấu "" chổ : PicPath = "D\Nhan More". Được rồi Anh Nghĩa ơi. Ah Anh nghĩ cho em hỏi tý: nếu tên của ảnh không phải là "A0001".. vv..vv mà là Arista. Classic , Sarah.. thì sao hả Anh???
Bây giờ, bạn muốn làm nhận hình thông qua sheet hay nhận hình trực tiếp vào form từ thư mục có hình đây? Bạn đâu phải con cò đâu mà cứ nhảy qua nhảy lại hoài vậy? Dứt khoát một kiểu để tôi làm dứt điểm tại đây luôn!
 
Dạ em muốn lấy ảnh trực tiếp vào Form luôn vì em thấy mới lấy có 50 ảnh mà khi mở file lên load ảnh vào sheet hơi lâu. Mong ANH giúp em nhân ảnh trực tiếp vào Form từ folder ảnh Ah!!!!
 
Dạ em muốn lấy ảnh trực tiếp vào Form luôn vì em thấy mới lấy có 50 ảnh mà khi mở file lên load ảnh vào sheet hơi lâu. Mong ANH giúp em nhân ảnh trực tiếp vào Form từ folder ảnh Ah!!!!
Như vậy, bạn xóa hết hình ở cột G rồi đặt tên hình theo mã số tại cột đó cho tôi, tên hình không cần có đuôi .jpg đâu, cứ mỗi mã là mỗi tên hình, tiếp theo tôi sẽ theo tên hình đó mà chuyển lên Form thôi. Làm sẳn đi và không cần gửi file lên đây. Nhớ ghi đầy đủ và chính xác tên hình vào cột đó và dứt khoát hình phải có định dạng .jpg nha.
 
Làm theo bài #30, sau đó bạn thay thế toàn bộ code trong Form bằng các thủ tục dưới đây:

Mã:
Option Explicit


Private Sub UserForm_Initialize()
    Dim eRow As Long
    eRow = Sheet1.Range("B" & Rows.Count).End(xlUp).Row
    ListBox1.List = Sheet1.Range("B2:G" & eRow).Value
    ListBox1.MultiSelect = fmMultiSelectSingle
    Image1.PictureSizeMode = fmPictureSizeModeStretch
End Sub


Private Sub CommandButton2_Click()
    Unload Me
End Sub


Private Sub ListBox1_Click()
    With ListBox1
        If .ListCount Then
            TextBox1.Text = .List(, 1)
            TextBox2.Text = .List(, 2)
            TextBox3.Text = Format(.List(, 3), "dd-MMM-yy")
            TextBox4.Text = Format(.List(, 4), "dd-MMM-yy")
            Image1.Picture = LoadPicture("D:\Nhan More\" & .List(, 5) & ".jpg")
        End If
    End With
End Sub

Và xóa luôn 2 cái Module kia đi, chúng "không còn giá trị lợi dụng" nữa! )*&^)
 
Dạ tên hình là : Arista, Classic, Bonmarche, Sarah Hamilton, Julipa, Intuition, First Avenue, Thomas Smith, John Master, ....Toàn bộ hình của em có đuôi,jpg. Mong Anh giúp.
 
Dạ tên hình là : Arista, Classic, Bonmarche, Sarah Hamilton, Julipa, Intuition, First Avenue, Thomas Smith, John Master, ....Toàn bộ hình của em có đuôi,jpg. Mong Anh giúp.
Thì bạn cứ làm như bài #30 và copy Code ở bài #31 thay thề toàn bộ code trong Form của bạn là được.
 
Cám Ơn Anh NGHĨA được rồi ah!!!!!
Chúc ANH ngủ Ngon!!!__--__
 
Lần chỉnh sửa cuối:
Show hình ảnh lên FORM phải như thế này nè, "không phải dạng vừa đâu"!

[video]https://youtu.be/o_8LSOIzduQ[/video]
 
Đúng là:
"không phải dạng vừa đâu"
Em thích nhất là Show ảnh từ từ ra giông như hiệu ứng trên Power Point.
Em nhớ file này cũng có trên DD rồi nhưng chưa có Show ảnh.
Mong học hỏi nhiều ở Anh.(Nhưng nói thật em "dốt quá", đã có Thầy giúp em mà em chẳng tiến bộ được, toàn là "bê" code vào File Thôi, chứ chẳng tự làm được)
 
Hoàng Trọng Nghĩa : Cho mình hỏi Tên trên textbox la "A/B". nhưng ảnh không cho đặt tên ký tự là "/"
Vậy sử lý string như nào để ra kết quả đúng.
Xin cảm ơn
 
Hoàng Trọng Nghĩa : Cho mình hỏi Tên trên textbox la "A/B". nhưng ảnh không cho đặt tên ký tự là "/"
Vậy sử lý string như nào để ra kết quả đúng.
Xin cảm ơn
Sao tên trên textbox là A/B là sao? Ý là cái tên đó bắt buộc có dấu / ở giữa mà hình ảnh nó không cho đặt tên như vậy phải không? Vậy thì ảnh đặt là A_B đi.

Xử lý: Tên hình = Replace(TextBox1.Text, "/","_")
 
Sao tên trên textbox là A/B là sao? Ý là cái tên đó bắt buộc có dấu / ở giữa mà hình ảnh nó không cho đặt tên như vậy phải không? Vậy thì ảnh đặt là A_B đi.

Xử lý: Tên hình = Replace(TextBox1.Text, "/","_")

Tên dữ liệu không sử được ( có cái có"/" có cái không). ảnh thì không cho đặt tên có ký tự"/"
OK rồi bạn. đã xử lý được như ý muốn. Nếu không mình đã phải dùng cột phụ trong sheet rồi.
Cảm ơn bạn nhé.
 
Hoàng Trọng Nghĩa: Mình hỏi chút nữa. Mình dùng hàm Vlookup trong VBA. Dữ liệu Textbox với dữ liệu sheet. Có cách nào khi thêm cột trong sheet mà không làm ảnh hưởng đến giá trị trả về không.
VD:
Tracuu.VITRI.Text = Application.VLookup(Tracuu.TenNVL.Text, Sheet2.Range("B2:M15000"), 4, 0)
Nếu chèn thêm cột vào giữa cột B:M thì nó trả về dữ liệu sai.=> Mong muốn là khi chèn vào không ảnh hưởng đến dữ liệu trả về khi chạy code.
P/S: Sorry vì hỏi sai chủ đề
 
Status
Không mở trả lời sau này.
Web KT

Bài viết mới nhất

Back
Top Bottom