Làm file Excel in thẻ nhân viên (Xin được file có VBA xin chỉ giúp)

Liên hệ QC

ttung_1191

Thành viên mới
Tham gia
23/5/15
Bài viết
3
Được thích
0
Dear cả nhà!
Chắc cả nhà đọc cũng không lạ gì topic em ghi ở trên nhỉ? Nhưng em tìm trên forum không thấy có bài viết hoặc file chưa của em. Bên công ty em có 1 file excel nó có 2 sheet 1 là dữ liệu, 2 là in. Tất nhiên là sheet in đánh số vào nó sẽ vlookup sang sheet dữ liệu để lấy thông tin như là tên, mã nhân viên, bộ phận...
Điều quan trọng là cái ảnh nó sẽ tìm trong thư mục được setup link sẵn theo mã nhân viên, có nghĩa là ảnh mình đặt tên là mã nhân viên, sau đó nó chèn tự động với kích cỡ và vị trí cố định không thể thay đổi.
File gốc thiết kế không đẹp nhưng do không thể di chuyển ảnh lên em không sửa chữa được. Phần VBA đặt pass nên em đã chỉnh mã HEX rồi. Các bác mở file thì chắc em cũng không phải nói nhiều về cách mở :D
Em không hiểu lắm về VBA lên không hiểu được cách tạo ra file như vậy. Mong cả nhà giúp đỡ cho em và cả nhà hiểu được nguyên lý và cách tạo file, cũng như thêm một form em nghĩ là làm thẻ nhân viên rất tiện và nhanh. :D

Phần có VBA đây nhé cả nhà:
Mã:
Private Sub TextBox1_Change()
Dim a As String
On Error GoTo er
a = "d:\in_the_nv\De_lieu_anh\" + TextBox1.Value + ".jpg"
Image1.Picture = LoadPicture(a)
Exit Sub
er:
MsgBox "khong Co Hinh"
End Sub

Private Sub TextBox2_Change()
Dim a As String
On Error GoTo er
a = "d:\in_the_nv\De_lieu_anh\" + TextBox2.Value + ".jpg"
Image2.Picture = LoadPicture(a)
Exit Sub
er:
MsgBox "khong Co Hinh"
End Sub

Private Sub TextBox3_Change()
Dim a As String
On Error GoTo er
a = "d:\in_the_nv\De_lieu_anh\" + TextBox3.Value + ".jpg"
Image3.Picture = LoadPicture(a)
Exit Sub
er:
MsgBox "khong Co Hinh"
End Sub

Private Sub TextBox4_Change()
Dim a As String
On Error GoTo er
a = "d:\in_the_nv\De_lieu_anh\" + TextBox4.Value + ".jpg"
Image4.Picture = LoadPicture(a)
Exit Sub
er:
MsgBox "khong Co Hinh"
End Sub

Private Sub TextBox5_Change()
Dim a As String
On Error GoTo er
a = "d:\in_the_nv\De_lieu_anh\" + TextBox5.Value + ".jpg"
Image5.Picture = LoadPicture(a)
Exit Sub
er:
MsgBox "khong Co Hinh"
End Sub

Private Sub TextBox6_Change()
Dim a As String
On Error GoTo er
a = "d:\in_the_nv\De_lieu_anh\" + TextBox6.Value + ".jpg"
Image6.Picture = LoadPicture(a)
Exit Sub
er:
MsgBox "khong Co Hinh"
End Sub

Private Sub TextBox7_Change()
Dim a As String
On Error GoTo er
a = "d:\in_the_nv\De_lieu_anh\" + TextBox7.Value + ".jpg"
Image7.Picture = LoadPicture(a)
Exit Sub
er:
MsgBox "khong Co Hinh"
End Sub

Private Sub TextBox8_Change()
Dim a As String
On Error GoTo er
a = "d:\in_the_nv\De_lieu_anh\" + TextBox8.Value + ".jpg"
Image8.Picture = LoadPicture(a)
Exit Sub
er:
MsgBox "khong Co Hinh"
End Sub

Private Sub TextBox9_Change()
Dim a As String
On Error GoTo er
a = "d:\in_the_nv\De_lieu_anh\" + TextBox9.Value + ".jpg"
Image9.Picture = LoadPicture(a)
Exit Sub
er:
MsgBox "khong Co Hinh"
End Sub

Private Sub TextBox10_Change()
Dim a As String
On Error GoTo er
a = "d:\in_the_nv\De_lieu_anh\" + TextBox10.Value + ".jpg"
Image10.Picture = LoadPicture(a)
Exit Sub
er:
MsgBox "khong Co Hinh"
End Sub

File đính kèm là file em lấy ở công ty, các bác mở ra là sẽ hiểu nhé, mỗi e gà không hiểu. :D
 

File đính kèm

  • in anh the de.xls.rar
    1.3 MB · Đọc: 55
Dear cả nhà!
Chắc cả nhà đọc cũng không lạ gì topic em ghi ở trên nhỉ? Nhưng em tìm trên forum không thấy có bài viết hoặc file chưa của em. Bên công ty em có 1 file excel nó có 2 sheet 1 là dữ liệu, 2 là in. Tất nhiên là sheet in đánh số vào nó sẽ vlookup sang sheet dữ liệu để lấy thông tin như là tên, mã nhân viên, bộ phận...
Điều quan trọng là cái ảnh nó sẽ tìm trong thư mục được setup link sẵn theo mã nhân viên, có nghĩa là ảnh mình đặt tên là mã nhân viên, sau đó nó chèn tự động với kích cỡ và vị trí cố định không thể thay đổi.
File gốc thiết kế không đẹp nhưng do không thể di chuyển ảnh lên em không sửa chữa được. Phần VBA đặt pass nên em đã chỉnh mã HEX rồi. Các bác mở file thì chắc em cũng không phải nói nhiều về cách mở :D
Em không hiểu lắm về VBA lên không hiểu được cách tạo ra file như vậy. Mong cả nhà giúp đỡ cho em và cả nhà hiểu được nguyên lý và cách tạo file, cũng như thêm một form em nghĩ là làm thẻ nhân viên rất tiện và nhanh. :D

Phần có VBA đây nhé cả nhà:
Mã:
Private Sub TextBox1_Change()
Dim a As String
On Error GoTo er
a = "d:\in_the_nv\De_lieu_anh\" + TextBox1.Value + ".jpg"
Image1.Picture = LoadPicture(a)
Exit Sub
er:
MsgBox "khong Co Hinh"
End Sub

Private Sub TextBox2_Change()
Dim a As String
On Error GoTo er
a = "d:\in_the_nv\De_lieu_anh\" + TextBox2.Value + ".jpg"
Image2.Picture = LoadPicture(a)
Exit Sub
er:
MsgBox "khong Co Hinh"
End Sub

Private Sub TextBox3_Change()
Dim a As String
On Error GoTo er
a = "d:\in_the_nv\De_lieu_anh\" + TextBox3.Value + ".jpg"
Image3.Picture = LoadPicture(a)
Exit Sub
er:
MsgBox "khong Co Hinh"
End Sub

Private Sub TextBox4_Change()
Dim a As String
On Error GoTo er
a = "d:\in_the_nv\De_lieu_anh\" + TextBox4.Value + ".jpg"
Image4.Picture = LoadPicture(a)
Exit Sub
er:
MsgBox "khong Co Hinh"
End Sub

Private Sub TextBox5_Change()
Dim a As String
On Error GoTo er
a = "d:\in_the_nv\De_lieu_anh\" + TextBox5.Value + ".jpg"
Image5.Picture = LoadPicture(a)
Exit Sub
er:
MsgBox "khong Co Hinh"
End Sub

Private Sub TextBox6_Change()
Dim a As String
On Error GoTo er
a = "d:\in_the_nv\De_lieu_anh\" + TextBox6.Value + ".jpg"
Image6.Picture = LoadPicture(a)
Exit Sub
er:
MsgBox "khong Co Hinh"
End Sub

Private Sub TextBox7_Change()
Dim a As String
On Error GoTo er
a = "d:\in_the_nv\De_lieu_anh\" + TextBox7.Value + ".jpg"
Image7.Picture = LoadPicture(a)
Exit Sub
er:
MsgBox "khong Co Hinh"
End Sub

Private Sub TextBox8_Change()
Dim a As String
On Error GoTo er
a = "d:\in_the_nv\De_lieu_anh\" + TextBox8.Value + ".jpg"
Image8.Picture = LoadPicture(a)
Exit Sub
er:
MsgBox "khong Co Hinh"
End Sub

Private Sub TextBox9_Change()
Dim a As String
On Error GoTo er
a = "d:\in_the_nv\De_lieu_anh\" + TextBox9.Value + ".jpg"
Image9.Picture = LoadPicture(a)
Exit Sub
er:
MsgBox "khong Co Hinh"
End Sub

Private Sub TextBox10_Change()
Dim a As String
On Error GoTo er
a = "d:\in_the_nv\De_lieu_anh\" + TextBox10.Value + ".jpg"
Image10.Picture = LoadPicture(a)
Exit Sub
er:
MsgBox "khong Co Hinh"
End Sub

File đính kèm là file em lấy ở công ty, các bác mở ra là sẽ hiểu nhé, mỗi e gà không hiểu. :D
File của bạn sao không mở được.
 
Upvote 0
Em quên mất, bác giải nén rồi xóa đuôi bak đi để nó là đuôi excel thôi là ok bác nhé
 
Upvote 0
Em không hiểu lắm về VBA lên không hiểu được cách tạo ra file như vậy. Mong cả nhà giúp đỡ cho em và cả nhà hiểu được nguyên lý và cách tạo file, cũng như thêm một form em nghĩ là làm thẻ nhân viên rất tiện và nhanh.
Hoạt động là thế này. Khi thay đổi các giá trị ở cột L thì các công thức sẽ lấy dữ liệu từ DULIEU để điền vào cột D và I, trong đó có Mã. Để nhập ảnh thì người ta phải dùng Mã, cũng là tên ảnh. Nhưng lấy Mã bằng cách nào? Các Mã được nhập trong cột D và I bằng công thức nên khi các Mã này thay đổi do thay đổi ở cột L thì không sảy ra sự kiện Change nên không lấy Mã được. Vì thế người ta dùng 10 TextBox, nhưng "ẩn" chúng bằng cách cho chiều rộng bằng 0 và chiều cao rất nhỏ. Những TextBox này được link với 10 ô Mã ở cột D và I. Khi các Mã thay đổi thì các TextBox thay đổi, và trong sự kiện Change của các TextBox người ta lấy được Mã, cũng là tên các ảnh. Có Mã thì người ta chèn ảnh từ đĩa vào 10 Image.
Thực ra không cần phải dùng 10 TextBox, và không dùng tới 10 ô trong cột L, cũng không dùng công thức luôn. Chỉ cần 1 ô vd. L1. Nhập 10 số thứ tự trong L1 cách nhau bởi dấu phẩy. Trong sự kiện Change của sheet IN thì lọc từ L1 ra 10 STT rồi dùng code để nhập các dữ liệu từ DULIEU vào cột D và I, trong đó có Mã. Có Mã thì cũng chèn luôn ảnh. Đây là cách xử lý khi muốn in các thông tin và ảnh bất kỳ tự chọn lựa. Còn nếu muốn in tất cả mọi nhân viên thì cũng chả cần L1. Cứ duyệt bằng code tất cả nhân viên, mỗi đợt là 10 nhân viên. Thế thôi.
 
Upvote 0
Dear cả nhà!
Chắc cả nhà đọc cũng không lạ gì topic em ghi ở trên nhỉ? Nhưng em tìm trên forum không thấy có bài viết hoặc file chưa của em. Bên công ty em có 1 file excel nó có 2 sheet 1 là dữ liệu, 2 là in. Tất nhiên là sheet in đánh số vào nó sẽ vlookup sang sheet dữ liệu để lấy thông tin như là tên, mã nhân viên, bộ phận...
Điều quan trọng là cái ảnh nó sẽ tìm trong thư mục được setup link sẵn theo mã nhân viên, có nghĩa là ảnh mình đặt tên là mã nhân viên, sau đó nó chèn tự động với kích cỡ và vị trí cố định không thể thay đổi.
File gốc thiết kế không đẹp nhưng do không thể di chuyển ảnh lên em không sửa chữa được. Phần VBA đặt pass nên em đã chỉnh mã HEX rồi. Các bác mở file thì chắc em cũng không phải nói nhiều về cách mở :D
Em không hiểu lắm về VBA lên không hiểu được cách tạo ra file như vậy. Mong cả nhà giúp đỡ cho em và cả nhà hiểu được nguyên lý và cách tạo file, cũng như thêm một form em nghĩ là làm thẻ nhân viên rất tiện và nhanh. :D

File đính kèm là file em lấy ở công ty, các bác mở ra là sẽ hiểu nhé, mỗi e gà không hiểu. :D
Tôi không có máy in để thử, bạn tự kiểm tra vậy.

A_Hinh.GIF
 

File đính kèm

  • IN THE NHAN VIEN.rar
    281.9 KB · Đọc: 52
Lần chỉnh sửa cuối:
Upvote 0
Web KT
Back
Top Bottom