Sắp xếp sơ đồ tổ chức bằng hình

Liên hệ QC

anhtuan1066

Thành viên gạo cội
Tham gia
10/3/07
Bài viết
5,802
Được thích
6,912
Giả sử tôi có 1 sơ đổ tổ chức trong nhà máy như sau:
Trên cùng là 1 ông Sếp
Bên dưới có 3 ông tổ trường
Dưới nữa là thành viên của mỗi tổ (giã sử 5 người 1 tổ)
Vậy tôi muốn tạo ra 1 sơ đổ tổ chức bằng hình ảnh (có dán hình ấy) tương tự như chức năng Organization Chart...
Cái này tôi nghĩ phải lập trình sao đó và có liên quan đến Comment
Các bạn giúp dùm với... Có 1 điều lưu ý là ta sẽ có 1 sheet ghi tên và chức vụ từng người, tương ứng với tên file hình nào đó... Vậy khi có sự thay đổi về chức vụ thì hình ảnh bên sơ đồ tổ chức cũng phải thay đổi theo...
ANH TUẤN
 
Trong Excel anh mở cái drawing toolbar thì có đủ đồ nghề để vẽ. Tuy nhiên nên xài PowerPoint thì công việc này làm trơn tru hơn nhiều.

Cái này thì không cần phải dùng VBA vì quá trình làm đi làm lại cái org chart thì rất hiếm xẩy ra. Mà nếu cần thì đưa thư ký chớ viết VBA rồi họ không có việc gì làm trong ngày.

Mến
 
Upvote 0
Cái này tôi biết... cám ơn bạn.. Tuy nhiên tôi muốn nó mang tính tự động hơn... VD như tôi có 1 sheet, trong đó ghi tên, chức vụ từng người (có kèm theo tên file hình tương ứng ở 1 cột)
Vậy khi có sự thay đổi về tổ chức thì hóa ra mình phải làm sắp lại bằng tay sao? Ý tôi muốn khi tôi thay đổi vị trí chức vụ ở sheet 1 chẳng hạn thì bên sheet 2, sơ đồ tổ chức bằng hình cũng thay đôi tương ứng
ANH TUẤN
 
Upvote 0
Vâng cái ý tưởng của anh hay đấy, vì khi sếp thay đổi, hoặc nhân viên bị thay đổi thì chỉ cần thay đổi ở data sheet thôi, còn về layout của nó sẽ tự hiện nên. Nếu được thì rất tiện lợi. Cám ơn Anh Tuấn đã có ý tưởng hay để bọn em học hỏi.
 
Upvote 0
Nhưng mà làm ko dc nè.. Các cao thủ ơi... giúp với... Mới sáng nay làm mấy cái hình bằng tay, phát bực (vì ko có năng khiếu thẩm mỹ và cũng làm biếng nữa)
 
Upvote 0
Cái này tôi biết sẽ làm giống như PicForm của bạn ThuNghi lần trước đưa lên... tuy nhiên nó hơi khó ở chổ là khi ta thay đổi vị trí chức vụ thì sao?
ThuNghi giúp 1 tay đi bạn ơi
ANH TUẤN
 
Upvote 0
anhtuan1066 đã viết:
Cái này tôi biết sẽ làm giống như PicForm của bạn ThuNghi lần trước đưa lên... tuy nhiên nó hơi khó ở chổ là khi ta thay đổi vị trí chức vụ thì sao?
ThuNghi giúp 1 tay đi bạn ơi
ANH TUẤN
Sơ lược như file, bạn điều chỉnh lại trong Code.
 

File đính kèm

Upvote 0
Anh bạn theo cái file mẩu này làm thử nha.

Trong sheet 1, nhập tên nhân viên, cấp bậc & tên file hình có extension (thí dụ: my photo.jpg) cùng drive:folder\. Sau đó qua sheet 2. anh coi ô I5 cách dùng UDF để hiển thị hình. Dùng hàm vlookup dò chức vụ trong bảng tên nhân viên ờ sheet 1 để lấy tên người.

Và cứ thế tạo ra thêm nhiều hình cho các nhân viên khác.Vậy nhá.

Mến
 

File đính kèm

Upvote 0
Ái chà chà... có lý lắm...
vậy ThuNghi và Digita cho tôi hỏi: Có cách nào sau khi hiển thị Pic thì tất cả đều cùng 1 size? Có code nào định trước dc chuyện này ko?
Với Digita: cách của bạn nó hiển thị hình ở cả 2 sheet, như vậy có phải là tốn tài nguyên bộ nhớ lắm ko? Tôi e dung lượng file sẽ tăng gấp đôi.. Có đúng ko nhỉ?
ANH TUẤN
 
Lần chỉnh sửa cuối:
Upvote 0
Trong sheet 1 không có cái ô nào có cái UDF. Tôi không hiểu tại sao nó cho hiển thị hình. Mà hình chỉ hiện trong sheet 1 khi input chi tiết file hình trong cột C thôi. Thôi thì khi nó hiện ra coi như là cho biết đây là hình mình muốn chọn sau đó anh dùng chuột xóa nó vậy.

Dùng chuột (1 click) rối kéo cái nắm (pic handler) ở góc làm hình to nhỏ tuỳ ý.
 
Upvote 0
Uh... chắc đành phải làm vậy! Nhưng resize 1 lần 50 tấm ảnh cũng hơi phê.. Có lẽ mình nên dùng phần mềm đễ resize trước nhỉ?
Ko biết các bạn có ai biết phần mềm nào như vậy ko? Tức là resize kích thước ngang dọc cho tất cả thành 1 size đồng nhất chứ ko phải chỉnh độ phân giải...
Cám ơn trước
ANH TUẤN
 
Upvote 0
ACD See làm việc rezise các hình bằng batch (làm 1 lần nhiều hình) rất tốt và chất lượng cũng ít bị ảnh hưởng.

Nếu chuyên hơn 1 chút thì dùng Photoshop và sử dụng chức năng Automate | Batch | gọi các Action (trước đó phải Record Action). Thế là máy tự làm cho ta khỏe re như con bò kéo xe.

Bên cơ quan em làm việc này thường lắm, ngoài việc rezise còn phải chỉnh sửa luôn độ sáng tối, làm mịn/ sắc nét vài trăm hình. Làm thủ công chắc chết quá!

TP.
 
Upvote 0
Nếu chuyên hơn 1 chút thì dùng Photoshop và sử dụng chức năng Automate | Batch | gọi các Action (trước đó phải Record Action). Thế là máy tự làm cho ta khỏe re như con bò kéo xe.
Cái này hay lắm. Cần HD mình chơi luôn.
Còn trong Excel thêm các dòng code để đưa hình về 1 size
Sub GanHinh()
ActiveSheet.Select
Range("B2").Comment.Shape.Fill.UserPicture ThisWorkbook.Path & "\" & Range("B2")
With Selection
.ShapeRange.LockAspectRatio = msoFalse
.ShapeRange.Height = 100
.ShapeRange.Width = 75
End With
Range("E2").Comment.Shape.Fill.UserPicture ThisWorkbook.Path & "\" & Range("E2")
With Selection
.ShapeRange.LockAspectRatio = msoFalse
.ShapeRange.Height = 100
.ShapeRange.Width = 75
End With
Range("H2").Comment.Shape.Fill.UserPicture ThisWorkbook.Path & "\" & Range("H2")
With Selection
.ShapeRange.LockAspectRatio = msoFalse
.ShapeRange.Height = 100
.ShapeRange.Width = 75
End With
Range("B14").Comment.Shape.Fill.UserPicture ThisWorkbook.Path & "\" & Range("B14")
With Selection
.ShapeRange.LockAspectRatio = msoFalse
.ShapeRange.Height = 100
.ShapeRange.Width = 75
End With
Range("E14").Comment.Shape.Fill.UserPicture ThisWorkbook.Path & "\" & Range("E14")
With Selection
.ShapeRange.LockAspectRatio = msoFalse
.ShapeRange.Height = 100
.ShapeRange.Width = 75
End With
Range("H14").Comment.Shape.Fill.UserPicture ThisWorkbook.Path & "\" & Range("H14")
With Selection
.ShapeRange.LockAspectRatio = msoFalse
.ShapeRange.Height = 100
.ShapeRange.Width = 75
End With

End Sub
Nếu thích canh trái, phải top ... thì đưa thêm
Selection.ShapeRange.IncrementLeft -18#
Selection.ShapeRange.IncrementTop -3#
 
Upvote 0
Nếu thích canh trái, phải top ... thì đưa thêm
Canh trái phải là canh so với cái gì thế? Có phải là với cell ko? Vậy cũng có thể canh giữa dc chứ?... Selection.ShapeRange.IncrementCenter chẳng hạn (tôi đoán thế chẳng biết đúng ko nữa)
Cám ơn các bạn nhiều!
ANH TUẤN
 
Upvote 0
Huhuhu, các Anh/Chị ơi cứu em với. Sếp em giao cho em tạo sơ đồ tổ chức có hình đính kèm, mà em không biết dùng công cụ gì để làm cho vừa lòng Sếp. Giúp em với các Anh/Chị ơi
Em cám ơn nhiều
 
Upvote 0
Canh trái phải là canh so với cái gì thế? Có phải là với cell ko? Vậy cũng có thể canh giữa dc chứ?... Selection.ShapeRange.IncrementCenter chẳng hạn (tôi đoán thế chẳng biết đúng ko nữa)
Cám ơn các bạn nhiều!
ANH TUẤN
anh ANH TUẤN ơi anh làm xong cái sơ đồ tổ chứ bằng Excel đó chưa. anh có thể vui lòng giử cho em với được không. để em tham khảo công thức với em cũng đang cần làm chuyện tương tự như ý tưởng của anh. anh có thể gửi lên GPE tại mục này hoặc gửi cho em theo địa chỉ yeuthamhangxom@gmail.com giúp em được không anh Tuấn.
Cám ơn anh nhiều.
 
Upvote 0
chùi ui, mình download cái này rùi mà vẫn không hiểu. Anh/Chị chỉ cho mình mới.
Tks
 
Upvote 0
Xin chào
Mình có viết thêm 1 hàm con như sau:
Function link(piclink As String) As String
link = ThisWorkbook.Path & "\hinhanh\" & piclink
End Function

Sau đó mình dùng lệnh : showpicD(link(A1)) nhưng nó trả về kết quả false?
Với A1 là tên ảnh của mình trong thư mục hinhanh
Nếu mình copy kết quả của hàm link(A1) thì và bỏ vào trình duyệt thì vẫn hiện được ảnh (ví dụ như dưới đây)
E:\file techmodule\Dropbox\Báo giá\Báo giá tổng hợp\hinhanh\TMYG-1081S
Mong các anh chị có thể chỉ cho em lỗi sai được không?
XIn cảm ơn
 
Lần chỉnh sửa cuối:
Upvote 0
Anh bạn theo cái file mẩu này làm thử nha.

Trong sheet 1, nhập tên nhân viên, cấp bậc & tên file hình có extension (thí dụ: my photo.jpg) cùng drive:folder\. Sau đó qua sheet 2. anh coi ô I5 cách dùng UDF để hiển thị hình. Dùng hàm vlookup dò chức vụ trong bảng tên nhân viên ờ sheet 1 để lấy tên người.

Và cứ thế tạo ra thêm nhiều hình cho các nhân viên khác.Vậy nhá.

Mến
Với cách làm này thì công nhận hay thật
Nhưng có 1 vấn đề xảy ra không rõ đã có ai giải quyết chưa?
ShowpicôsShowpicốChẳng hạn khi nhập hàm: Showpic(A1) và đổi giá trị ở ô A 1 thì ảnh mới sẽ chồng lên ảnh cũ, làm thế nào để xóa ảnh cũ đi và đè ảnh mới lên?
 
Upvote 0
Web KT

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

Back
Top Bottom