Tự động thay đồi hình ảnh theo danh sách và insert copy đc (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

vitbau86

Thành viên chính thức
Tham gia
9/7/11
Bài viết
58
Được thích
5
Em có 1 vấn đề thế này:
em muốn copy insert các hàng xuống dưới để chọn giá trị khác thì hình ảnh cũng đc copy xuống tương ứng và cũng thay đổi đc
 

File đính kèm

Upvote 0
em thử làm theo bài ý rồi, nhưng hình ảnh sẽ chèn vào comment , nên chỉ to đúng kích cỡ của 1 cell thôi ---> rất bé. Nếu em để list trải dài thành 4 dòng (merger lại) thì ảnh chỉ to bằng ô đầu tiên thôi
 
Upvote 0
em thử làm theo bài ý rồi, nhưng hình ảnh sẽ chèn vào comment , nên chỉ to đúng kích cỡ của 1 cell thôi ---> rất bé. Nếu em để list trải dài thành 4 dòng (merger lại) thì ảnh chỉ to bằng ô đầu tiên thôi
Dễ òm!
Chình lại code tí xíu
PHP:
Function CommPic(Pic As String, Cel As Range) As String
  On Error Resume Next
  Application.Volatile
  Cel(1, 1).Comment.Delete
  If Cel(1, 1).Comment Is Nothing Then Cel(1, 1).AddComment
  Cel(1, 1).Comment.Text vbLf
  With Cel(1, 1).Comment.Shape
    .Left = Cel.Left: .Top = Cel.Top: .Visible = True
    .Width = Cel.Width: .Height = Cel.Height
    .Fill.UserPicture Pic
  End With
End Function
Bảo đảm merge bao nhiêu cell thì ảnh sẽ "trải ra" bấy nhiêu cell
 
Upvote 0
Bạn xem lại file nha vì hình ảnh của bạn định dạng *.jpg trong khi dữ liệu là *.png thì sao code chạy được
bạn có code:
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Address = "$D$4" Then
    Sheet3.Image1.Picture = LoadPicture(ThisWorkbook.Path & "\" & Target & ".jpg")
  End If
End Sub
mà không có image1 ...hic lỗi tùm lum

Bác Du ah. E test lại code của bác sao ảnh không trải ra toàn bộ cell merg
em làm thủ công Height = Cel.Height >> Height = Cel.Height*4 là ok
hi
 
Upvote 0

File đính kèm

Upvote 0
vâng cám ơn thầy nhé, nhưng lại có 1 vấn đề này nữa, khi in ra thì lại ko có hình ảnh thầy à.
em thấy cách insert ảnh như cách sau rất hay http://www.mediafire.com/download.php?y1q4ggay5qolwms
thầy có thể xử lý theo ý đồ của em đc ko?
Có in comment hay không là do bạn thiết lập trong Page Setup

untitled.JPG



Còn code ở đường link bạn đưa ở trên cũng là do tôi viết. Thích xài cái nào là tùy bạn
 
Lần chỉnh sửa cuối:
Upvote 0
cho em hỏi thêm là có thể bỏ cái đường viền màu đen của comment đc ko, in ra nó xấu
bong.png
 
Upvote 0
cho em hỏi thêm là có thể bỏ cái đường viền màu đen của comment đc ko, in ra nó xấu
View attachment 68439
Thích thì xóa thôi! Đấy là cái bóng (Shadow)
Mã:
Function CommPic(Pic As String, Cel As Range) As String
  On Error Resume Next
  Application.Volatile
  Cel(1, 1).Comment.Delete
  If Cel(1, 1).Comment Is Nothing Then Cel(1, 1).AddComment
  Cel(1, 1).Comment.Text vbLf
  With Cel(1, 1).Comment.Shape
    [B][COLOR=#0000cd].Shadow.Visible = msoFalse
    .Line.Visible = msoFalse[/COLOR][/B]
    .Left = Cel.Left: .Top = Cel.Top: .Visible = True
    .Width = Cel.Width: .Height = Cel.Height
    .Fill.UserPicture Pic
  End With
End Function
Chổ màu xanh là code thêm vào để ẩn line và shadow
--------------------
Lý ra, nếu bạn biết cách format bằng tay thì hoàn toàn có thể record macro để biết code viết gì
 
Lần chỉnh sửa cuối:
Upvote 0
em cũng thử với cái mũi tên màu đen trên góc phải:
" .Arrow.Visible =msoFalse"
sao nó ko biến mất nhỉ
 
Upvote 0
em cũng thử với cái mũi tên màu đen trên góc phải:
" .Arrow.Visible =msoFalse"
sao nó ko biến mất nhỉ
Bạn chỉ cần nhớ 1 chuyện thế này: Cái bạn muốn liệu có làm bằng tay được không?
Vậy bạn phải thí nghiệm xem để xóa mũi tên thì bạn sẽ làm thế nào? (bằng tay). Nếu làm được rồi hãy tính đến việc viết code
Gợi ý: Thay đổi kiểu Comment
 
Lần chỉnh sửa cuối:
Upvote 0

File đính kèm

Upvote 0
Kính thưa Thầy ndu96081631 và các bạn
Em có 1 file muốn làm giống như file trong " bảng tính " mà Thầy đã làm , nhưng em làm không được , nhờ Thầy và các bạn giúp giùm
Em cám ơn rất nhiều
Mô tả chỉ tiết đi, xem file chẳng hiểu mấy:
- Bạn muốn cho hình vào sheet nào? Cell nào?
- Điểu kiện liên quan thế nào đổi với tên hình?
 
Upvote 0
Tự động thay đổi hình trong validation

Kính thưa Thầy
Em muốn cho hình vào Sheet U2 Cell F36 và sheet U1-2 cells G9 , G18 , G27 và G36
Em đã fusionner lại các cell ; nhờ Thầy giúp giùm làm cho em mổi cell 1 cái validation de données nhưng khi in thì đừng cho thấy tên của validation de données- cám ơn Thầy
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Kính thưa Thầy
Em muốn cho hình vào Sheet U2 Cell F36 và sheet U1-2 cells G9 , G18 , G27 và G36
Em đã fusionner lại các cell ; nhờ Thầy giúp giùm làm cho em mổi cell 1 cái validation de données nhưng khi in thì đừng cho thấy tên của validation de données- cám ơn Thầy
Biết là chèn hình rồi, nhưng mà dựa vào điều kiện gì để chọn hình ---> Chả lẽ thích chèn hình nào thì chèn sao?
 
Upvote 0
Xin lổi Thầy , Em thêm các điều kiện sau đây :
Ở sheet U2 : nếu cell H24<3.5 = hình 01 ở cell F36 ; H24=3.5 = hình 02 ở cell F36; cell H24>3.5 = hình 03 ở cell F36
Ở sheet U1-2 : Nếu cell c13>1075 = hình 01 ở cell G9; cell13=1075 = hình 02 ở cell G9; cell13<1075 = hình 03 ở cell G9
Nếu cell c22>1275 = hình 01 ở cell G18; cell22=1275 = hình 02 ở cell G18; cell22<1275 = hình 03 ở cell G18
Nếu cell c31>1225 = hình 01 ở cell G27; cell31=1225 = hình 02 ở cell G27; cell31<1225 = hình 03 ở cell G27
Nếu cell c40>1225 = hình 01 ở cell G36 ; cell40=1225 = hình 02 ở cell G36; cell40<1225 = hình 03 ở cell G36
 
Upvote 0
Thích thì xóa thôi! Đấy là cái bóng (Shadow)
Mã:
Function CommPic(Pic As String, Cel As Range) As String
  On Error Resume Next
  Application.Volatile
  Cel(1, 1).Comment.Delete
  If Cel(1, 1).Comment Is Nothing Then Cel(1, 1).AddComment
  Cel(1, 1).Comment.Text vbLf
  With Cel(1, 1).Comment.Shape
    [B][COLOR=#0000cd].Shadow.Visible = msoFalse
    .Line.Visible = msoFalse[/COLOR][/B]
    .Left = Cel.Left: .Top = Cel.Top: .Visible = True
    .Width = Cel.Width: .Height = Cel.Height
    .Fill.UserPicture Pic
  End With
End Function
Chổ màu xanh là code thêm vào để ẩn line và shadow
--------------------
Lý ra, nếu bạn biết cách format bằng tay thì hoàn toàn có thể record macro để biết code viết gì
Em chào thầy, khi sử dụng hàm này, thì khi thay đổi giá trị của biến Pic trong hàm về giá trị rỗng thì nó vẫn hiển thị ảnh cũ, vậy có cách nào xử lí không ạ.
Em xin cảm ơn
 
Upvote 0
Em chào thầy, khi sử dụng hàm này, thì khi thay đổi giá trị của biến Pic trong hàm về giá trị rỗng thì nó vẫn hiển thị ảnh cũ, vậy có cách nào xử lí không ạ.
Em xin cảm ơn
Em đã tìm ra câu trả lời, không rõ có tối ưu không
Viết thêm 1 hàm con này
Option ExplicitFunction Xoaanh(anh As String, Cel As Range) As String
On Error Resume Next
Application.Volatile
If anh = "" Then Cel(1, 1).Comment.Delete
End Function
Sau đó mình dùng như sau:
=IF(A15<>"";CommPic(link(B15);D15);Xoaanh(B15;D15))

hàm link có nội dung
Function link(piclink As String) As Stringlink = ThisWorkbook.Path & "\hinhanh\" & piclink & ".jpg"
If piclink = "" Then link = ""
End Function

Với cách làm này đảm bảo khi thay đổi giá trị của B15 là "" thì ảnh cũ sẽ bị xóa, như vậy mới hoàn thiện được
Ý kiến của em như vậy, thầy có thể góp ý cho em hoàn thiện hơn được không ạ
 
Upvote 0
[FONT=Tahoma, Calibri, Verdana, Geneva, sans-serif]Chả là tôi cũng có nhu cầu chèn hình ảnh vào bảng tính (vấn đề này đã làm Ok), nhưng lại phát sinh vấn đề là hình ảnh có nhiều kiểu (nằm ngang, thẳng đứng, kích thước ảnh khác nhau, ..). Vậy mình mình hỏi bạn có cách nào để khi mình chèn hình ảnh vào thì chèn đúng theo bản gốc hình ảnh hay không? Tức là khung ảnh sẽ không phải theo định dạng có sẵn của Cell mà có thể: Nếu hình gốc theo chiều ngang thi khi chèn vào không bị kéo giản chiều dọc và ngược lại.[/FONT]
[FONT=Tahoma, Calibri, Verdana, Geneva, sans-serif]Nếu có thể thì mong bạn giúp mình vấn đề này nhé.[/FONT]
[FONT=Tahoma, Calibri, Verdana, Geneva, sans-serif]Thanks[/FONT]
 
Upvote 0
File báo lỗi #NAME?

Thưa thầy cho em hỏi chút ạ, em chèn các thông số như hướng dẫn mà file của em báo lỗi ạ.
Thầy chỉ giúp em với ạ
Em xin cảm ơn
 

File đính kèm

Upvote 0
Thầy ơi,
Em đang tạo một cái Comment có hình ảnh nhưng không thể tạo đường dẫn động cho nó được hả thầy. Giống như là hình tùy mình chọn vậy. +-+-+-+ theo một đường dẫn không nhất định vậy đó thầy.
 
Upvote 0
Em chào Thầy
Em làm theo file mẫu của Thầy, thì đã chèn đc ảnh em muốn chèn vào rồi.
Tuy nhiên ảnh của em là mã vạch, nó có viền và độ phân giải của ảnh thấp nên không dùng súng bắn đc.
Thầy có thể làm mẫu cho em để em có thể dùng súng bắn đc mã vạch này ko ạ. (ảnh gốc thì bắn đc ạ)
Ngoài ra em thấy bảo khi đã chèn ảnh OK rồi thì có thể dùng hàm hàm khác để tham chiếu ảnh đó ra file khác, sheet khác thì phải nhưng em làm thử thì ko đc ạ
Em xin cảm ơn
 

File đính kèm

Upvote 0
Dễ òm!
Chình lại code tí xíu
PHP:
Function CommPic(Pic As String, Cel As Range) As String
  On Error Resume Next
  Application.Volatile
  Cel(1, 1).Comment.Delete
  If Cel(1, 1).Comment Is Nothing Then Cel(1, 1).AddComment
  Cel(1, 1).Comment.Text vbLf
  With Cel(1, 1).Comment.Shape
    .Left = Cel.Left: .Top = Cel.Top: .Visible = True
    .Width = Cel.Width: .Height = Cel.Height
    .Fill.UserPicture Pic
  End With
End Function
Bảo đảm merge bao nhiêu cell thì ảnh sẽ "trải ra" bấy nhiêu cell
dạ, thưa thầy. file mẫu thầy hướng dẫn rất hữu ích với công việc của em. Tuy chỉ có 1 cái là em vẫn ko làm được, là khi e copy nguyên ảnh và giá trị biến rồi insert thêm cột thì file lỗi ko hiển thị được ảnh nữa. e ko hiểu lắm (mù tịt). Mong thầy khai sáng chút kiến thức ạ. Tiện thể cho e hỏi nhỏ, với một người đi làm như em chỉ có thời gian nghiên cứu buổi đêm thì thầy có lớp học online nào dạy excell nâng cao VBA không ạ!
 
Lần chỉnh sửa cuối:
Upvote 0

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

Back
Top Bottom