File excel quản lý nhân viên

Liên hệ QC
Bạn xem tạm file này trong khi chờ đợi
 

File đính kèm

  • gpeForm.rar
    27.3 KB · Đọc: 214
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 ạ
 
Pro nào giúp em với.
Em vọc vạch thế nào máy báo virus và giờ thì macro trống trơn luôn rồi.
Ảnh cũng không nhảy nữa :(
Bác nào có lòng sửa giúp em với :( công sức cả ngày vọc vạch của em biến mất tiêu rồi :(
 

File đính kèm

  • QuanLyNhanVien.rar
    318.1 KB · Đọc: 135
Lần chỉnh sửa cuố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.


anhcầnthayđổitênhìnhlạilàsẽđượcthôi
 
Mình muốn lọc theo mã số NV nhưng ko đc vậy nhỉ? vì tên Cn trùng nhau nhiều.
Và mình muốn lập 1 file theo dõi Cn nghỉ trong tháng và tổng hợp cả năm để đến cuối năm mình tính tiền thưởng , phép cho Cn mà chưa làm đc.
Bác nào có kinh nghiệm trong vj này giúp em với ạ
Em cảm ơn nhiều
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.
 
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???
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.
mong Thành viên già cỗi nào có nhiều kinh nghiệm up lên cho bà con tham khảo ạ
 
làm thế nào để tạo được ô "Trước"; " sau" vậy ban. Mình cũng đang nghiên cứu để ứng dụng vao quản lý nhân viên của cơ quan mình. nhưng khong biết làm táp đó như của ban
 
Mọi người giúp mình với 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). Cám ơn mọi người
 
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).

51c45545 vẫn là dạng Text đấy thôi!
Hay bạn muốn vừa nhập dạng số, vừa có thể nhập dạng Text?
Để vậy, chí ít bạn đưa cái SheetForm í lên diễn đàn xem sao.
 
Trong Sheet Form Ô "D3" định dạng Text Số, Mình muốn Nhập vừa Chữ vừa Số ví dụ "51C45545"
Cám ơn các bạn nhiều
 

File đính kèm

  • HoSoCBCNV_().rar
    1 MB · Đọc: 91
Vấ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/dienda...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
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
. . .    . . . .
Ư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ý.

(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!
 
Vấ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
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
. . .    . . . .
Ư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ý.

(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!
Hj caqm o
Vấ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
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
. . .    . . . .
Ư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ý.

(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ạn
 
. . . . 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
 
Để 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

Cái đó mình biết mà chỉ Mong các bạn giúp mình một việc thôi đó là định dạng lại ô "D3" sao chữ và số nhập và xuất vào Data là được cám ơn các bạn nhiều
 
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 cái này ở đâu như nào ạ em chả biết gì hết cả xin cảm ơn,
 
Thêm 1 File sử dụng hàm để các bạn tiện tham khảo thêm.
 

File đính kèm

  • QL NHAN VIEN.xlsx
    266.6 KB · Đọc: 209
Ad ơi mình nhập dữ liệu là ngày thánh năm trong sheet 1 nhưng hiển thị ở sheet 2 là số thì khắc phục như nào ạ, mình cảm ơn
 
Em đã tải file về để sử dụng, thật sự rất hữu ích, nhưng còn 1 vấn đề đó là ở sheet data em co cho ảnh bé lại, đến lúc trích xuất hình ảnh sang sheet kia, em muốn phóng to ảnh lên dẫn tới việc ảnh bị vỡ + mờ. Ảnh thời điểm ban đầu mới chèn vào vẫn còn rõ nét, khoảng 5p sau hoặc tắt file đi ảnh lại về chất lượng kém. Ai đi qua đọc được bài giúp đỡ em với, thanks mọi người
Thêm 1 File sử dụng hàm để các bạn tiện tham khảo thêm.
 
Web KT
Back
Top Bottom