tamdang272
Thành viên mới

- Tham gia
- 18/11/16
- Bài viết
- 29
- Được thích
- 0
Thank bác nhiều. Cơ mà k xem được code thì làm sao biết em sai ở đâu được. em mới vọc vạch thôi ạ
Thank bác nhiều. Cơ mà k xem được code thì làm sao biết em sai ở đâu được. em mới vọc vạch thôi ạBạn xem tạm file này trong khi chờ đợi
Cảm ơn bạn rất nhiều nhé, file này thật là hay, nhưng mình không thể nạp ảnh được, mình đã xóa ảnh mẫu ở thư mục "Hinh" và add ảnh nhân viên vào, nhưng vẫn không hiển thị. xin bạn hướng dẫn giúp mình với.
Có 1 bạn vừa gửi mail nhờ tôi tùy biến 1 file quản lý thông tin nhân sự (có lẽ ngại nhờ mấy chuyện "lẻ tẻ" nên không post lên GPE, hay sao nữa thì cũng không hiểu?), file này dựa trên gợi ý của "tiền bối" anhtuan1066 (theo đường link bạn đó gửi), tôi tùy chỉnh 1 chút theo yêu cầu sử dụng.
File được rút gọn, gồm 2 sheet:
+ sheet1 (để nhập liệu) là danh sách nhân viên kèm các thông tin;
+ sheet2 (để view hoặc in) là tập hợp tất cả thông tin + hình ảnh nhân viên vào 1 trang.
Ứng với mỗi cái kích chuột thì toàn bộ thông tin về 1 nhân viên kèm hình ảnh nhân viên đó được hiển thị.
Tuy đơn giản vậy nhưng thấy cũng hay hay nên Upload chia xẻ với "bà con"…
Tất nhiên các bạn có thể tùy chỉnh theo ý muốn.
Nhận xét rút ra: Nếu có 1 chút kiến thức cộng với 1 chút sáng tạo, chúng ta có thể "thiên biến vạn hóa" để biến bảng tính excel khô khan thành những ứng dụng rất linh hoạt và hữu ích.
--------
Cách sử dụng:
- Các bạn lần lượt tải về cả file excel và thư mục chứa hình ảnh (Hinh): Khi xuất hiện cửa sổ File Download, kích nút "Save" để lưu vào đĩa cứng.
- Giải nén thư mục Hinh, không đổi tên và lưu chung địa chỉ file excel. Ví dụ file excel lưu tại địa chỉ: "D:\HoSoNhanVien\", thì thư mục Hinh cũng được lưu tại: "D:\HoSoNhanVien\Hinh".
- Mở file excel lên.
sao HPKHUONG ko đưa file lên luôn đi chứ cứ COde như vậy nhìn rối quá ko hiểu đc, mình cũng đang cần file như vậy mà đọc chỉ dẫn của các tiền bối mà hoa mắt quá, ui tai ko ra.Tôi thấy sao rối mắt với đống code trong file của bạn quá. Bức râu ông nọ cắm cằm bà kia sao bảo load cho đúng hình vào được.
Ở ngoài tên folder chứa hình là "HoSoCBCNV", còn trong code để là "HINH". Nó có ăn nhậu gì với nhau đâu mà bảo load được Pic.
Tôi có giải pháp khác thay thế, là chèn hình đúng vào cái Cell E3 chết tiệt ấy (bạn đã meger rồi đó).
Bạn Xóa cái code sự kiện trong sheet SoYeu_LL đi, dùng đoạn code sau paste vào module
Tại cell E3 bạn xài công thức sau: (và tất nhiên là hình ảnh có cùng 1 đuôi nha , ví dụ ở dưới công thức là .jpg)
Mã:E3 =CommPic("HoSoCBCNV\"&$K$3&".jpg")
Code paste vào module
Mã:Function CommPic(ByVal Pic As String, Optional ByVal Cel As Range) As String Dim mRng As Range, comm As Comment On Error Resume Next Application.Volatile If Cel Is Nothing Then Set Cel = Application.ThisCell Cel(1, 1).Comment.Delete If Not CreateObject("Scripting.FileSystemObject").FileExists(Pic) Then Pic = ThisWorkbook.Path & "\" & Pic End If If CreateObject("Scripting.FileSystemObject").FileExists(Pic) Then If Cel(1, 1).Comment Is Nothing Then Cel(1, 1).AddComment Cel(1, 1).Comment.Text vbLf Set mRng = Cel(1, 1).MergeArea If mRng Is Nothing Then Set mRng = Cel(1, 1) Set comm = mRng(1, 1).Comment comm.Visible = True With comm.Shape .LockAspectRatio = msoFalse .Placement = xlMoveAndSize .Shadow.Visible = msoFalse .Line.Visible = msoFalse .AutoShapeType = msoShapeRectangle .Left = mRng.Left: .Top = mRng.Top .Width = mRng.Width: .Height = mRng.Height .Fill.UserPicture Pic End With End If End Function
P/s: Function trên là học hỏi của anh NDU. Đảm bảo tốc độ nhanh hơn nhiều so với code sự kiện như trong file của bạn
Với Function trên, trên bảng tính. Bạn muốn chèn hình vào cell nào thì cữ gõ công thức như trên là nó chèn.........Quả thật rất là tuyệt đúng không???
Trong file HosoCBCNV() trong sheet Form ô Nhập Mã số bắt buộc nhập định dạng Text. Bây giờ em muốn Nhập định Dạng General ví dụ (51c45545).
'
Mã NV Họ & Tên '
NVH00 Ngô Thị Việt Hà
NVH01 Nguyễn Viết Hoàng
DQF00 Dương Quí Đức
FJF00 Đỗ Đồng
ADL00 Âu Dương Lân
. . . . . . .
Hj caqm oVấn đề của bạn trang SheetForm của bạn sẽ chứa dữ liệu nhập để nhầm mục đích lưu vô CSDL;
Thêm nữa, ô [D3] này sẽ là mã định danh của dòng CSDL 1 người nào đó;
Mình khuyên bạn hãy chọn 1 thứ dữ liệu cho 1 trường thôi; Ta không thể tạo mã duy nhất cho người này là những kí số, còn người khác là kí tự có chứa số đi chăng nữa.
Nếu bạn vẫn quyết tâm làm vậy thì giữa bạn & mình sẽ không còn gì để nói ơới nhau nữa cả, thật đáng tiếc
Nhìn qua CSDL lưu của bạn mình xin có vài ý thế này:
(1) Bạn có thể nghiêm cứu tạo SCDL quan hệ;
Nôm na nó sẽ là vầy:
Dữ liệu từ cột đến cột [y] (bạn đang đánh số 24) ta chỉ nhập 2 dòng mà thôi (Hiện tại đó là dòng 4 & D13;
(Mình gọi bảng dữ liệu này là fần chung)
Còn fần chi tiết hiện đang là vùng từ cột bạn đang đánh số 25 đến cột số 32; Tuy nhiên bảng chi tiết này (như mình gọi) còn thiếu (cột) mã quan hệ với bảng chung;
Nghĩa là các dòng từ dòng 4 đến 12 đều fải được gắn mà 101
Các dòng dưới chúng nó cần gán mã 102
Vế CSDL quan hệ bạn có thể tham khảo ở đây: http://www.giaiphapexcel.com/diendan/threads/tạo-csdl-quan-hệ-trên-excel-fần-2-bài-1-csdl-để-quản-lý-nhập-xuất-tờ-tiền.130610/#post-821100
(2) Mình khuyên bạn xài bộ mã nhân sự như sau
Ưu điểm trước tiên là nó có tính tương tác cao giữa người quản lí (nhân sự) & người chịu quản lý.PHP:' Mã NV Họ & Tên ' NVH00 Ngô Thị Việt Hà NVH01 Nguyễn Viết Hoàng DQF00 Dương Quí Đức FJF00 Đỗ Đồng ADL00 Âu Dương Lân . . . . . . .
(3) Các mối quan hệ (như chồng, cha, mẹ,. . . . ) nên xài 1 danh mục để nhập; Đều này nhắm mục đích cốt lõi là tránh nhập sai chính tả
Ngoài ra việc chọn bỡi chuột sẽ có thể nhanh hơn gõ fím (nhất là lúc xỉn).
Rất vui nếu được bạn quan tâm những góp í của mình & chúc khỏe!
Cám ơn bạn đã góp ý. Bạn nói đúng ô mã số mình nên quản lý 1 loại mã. Nhưng cái mình đg cần quản lý là số xe vừa có số và chữ nên mog bạn giúp định dạng lại ô D3 hiểu chữ và số. Mình dùng lại file Hosocbcnv() . thanks bạnVấn đề của bạn trang SheetForm của bạn sẽ chứa dữ liệu nhập để nhầm mục đích lưu vô CSDL;
Thêm nữa, ô [D3] này sẽ là mã định danh của dòng CSDL 1 người nào đó;
Mình khuyên bạn hãy chọn 1 thứ dữ liệu cho 1 trường thôi; Ta không thể tạo mã duy nhất cho người này là những kí số, còn người khác là kí tự có chứa số đi chăng nữa.
Nếu bạn vẫn quyết tâm làm vậy thì giữa bạn & mình sẽ không còn gì để nói ơới nhau nữa cả, thật đáng tiếc
Nhìn qua CSDL lưu của bạn mình xin có vài ý thế này:
(1) Bạn có thể nghiêm cứu tạo SCDL quan hệ;
Nôm na nó sẽ là vầy:
Dữ liệu từ cột đến cột [y] (bạn đang đánh số 24) ta chỉ nhập 2 dòng mà thôi (Hiện tại đó là dòng 4 & D13;
(Mình gọi bảng dữ liệu này là fần chung)
Còn fần chi tiết hiện đang là vùng từ cột bạn đang đánh số 25 đến cột số 32; Tuy nhiên bảng chi tiết này (như mình gọi) còn thiếu (cột) mã quan hệ với bảng chung;
Nghĩa là các dòng từ dòng 4 đến 12 đều fải được gắn mà 101
Các dòng dưới chúng nó cần gán mã 102
Vế CSDL quan hệ bạn có thể tham khảo ở đây: http://www.giaiphapexcel.com/diendan/threads/tạo-csdl-quan-hệ-trên-excel-fần-2-bài-1-csdl-để-quản-lý-nhập-xuất-tờ-tiền.130610/#post-821100
(2) Mình khuyên bạn xài bộ mã nhân sự như sau
Ưu điểm trước tiên là nó có tính tương tác cao giữa người quản lí (nhân sự) & người chịu quản lý.PHP:' Mã NV Họ & Tên ' NVH00 Ngô Thị Việt Hà NVH01 Nguyễn Viết Hoàng DQF00 Dương Quí Đức FJF00 Đỗ Đồng ADL00 Âu Dương Lân . . . . . . .
(3) Các mối quan hệ (như chồng, cha, mẹ,. . . . ) nên xài 1 danh mục để nhập; Đều này nhắm mục đích cốt lõi là tránh nhập sai chính tả
Ngoài ra việc chọn bỡi chuột sẽ có thể nhanh hơn gõ fím (nhất là lúc xỉn).
Rất vui nếu được bạn quan tâm những góp í của mình & chúc khỏe!
. . . . Nhưng cái mình đg cần quản lý là số xe vừa có số và chữ nên mog bạn giúp định dạng lại ô D3 hiểu chữ và số. Mình dùng lại file Hosocbcnv() . thanks bạn
Để quản lý biển số xe trên lãnh thổ VN, bạn fải liệt kê mọi khả năng biển số xe đã ban hành
Của bộ quốc fòng, bộ Ngoại giao, xe chuyên dùng, xe kéo rơ móc,. . . . .
Mình hình như chúng có mẫu số chung là có chứa kí tự trong nới. (Số của rơ móc thì hình như là kí số không thôi?)
Chuyên này bạn nên tiếp tục lập danh sách chúng đi.
Có vướng gì đó mới đem lên diễn đàn xin ý kiến khắc f ục
Thêm cái này ở đâu như nào ạ em chả biết gì hết cả xin cảm ơn,Tại sheet ThongTin, bạn vào sửa dòng này là được từ 11 ->13
Code:
Mã:Private Sub Worksheet_Change(ByVal Target As Range) Dim Rng As Range, Picname As String Application.ScreenUpdating = False On Error Resume Next If Not Intersect([A2], Target) Is Nothing Then Set Rng = Sheets(1).Range(Sheets(1).[A5], Sheets(1).[A1000].End(xlUp)) [B][COLOR=#ff0000]Picname = ThisWorkbook.Path & "\Hinh\" & Rng.Find(Target).Offset(, 13)[/COLOR][/B] 'Xoa anh da chon o lan truoc di Sheets(2).Shapes([A3].Address).Delete 'Dinh kich thuoc anh [A3].Select With ActiveSheet.Pictures.Insert(Picname) '.Name = Target.Offset(1, 0).Address .Name = [A3].Address '.Left = Target.Offset(1, 0).Left: Top = Target.Offset(1, 0).Top .Left = [A3].Left: Top = [A3].Top .Width = 110 '(pixcels) <-- dieu chinh be rong .Height = 115 '(pixcels) <-- dieu chinh chieu cao End With 'Di chuyen hinh vao trong khung: ActiveSheet.Shapes("$A$3").IncrementTop 2# ActiveSheet.Shapes("$A$3").IncrementLeft 2.5 End If Application.ScreenUpdating = True End Sub
Vấn đề 2: thì bạn dùng Data-Filter là được thôi.![]()
Thêm 1 File sử dụng hàm để các bạn tiện tham khảo thêm.