Xin được sự giúp đỡ sửa code.

Liên hệ QC

Cát Lượng

Thành viên tiêu biểu
Tham gia
14/11/18
Bài viết
403
Được thích
66
Nhờ các anh, chị giúp em sửa đoạn code để dữ liệu được chạy khi nhấn nút spin.
Có 02 vùng khoanh đỏ không nhẩy dữ liệu khi nhấn nút cuộn spin.
toi1.png
 

File đính kèm

Anh ơi, em xin phép làm phiền anh chút!
cột R (ngày kết thúc hợp đồng lao động) trong sheet "DM_HD" em để trống ngày vì là hợp đồng lao động không xác định thời hạn, nên chỉ có ngày bắt đầu ký (cột Q) mà không có ngày kết thúc hợp đồng.
Như vậy nếu (cột R) trong sheet "DM_HD" để trống thì khi chạy dữ liệu ở sheet "HD_LD" dòng số 24 sẽ xuất hiện lỗi (như hình đính kèm)
Anh có thể cho em hướng xử lý:
1/ nếu cột R trong sheet "DM_HD" có dữ liệu thì dòng số 24 vẫn là "từ ngày....tháng....năm...đến....ngày....tháng...năm..."
2/ nếu cột R trong sheet "DM_HD" không điền dữ liệu thì dòng số 24 sẽ là "từ ngày....tháng....năm".
Rất mong sự giúp đỡ của anh và các thầy!
moi.png
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Anh ơi, em xin phép làm phiền anh chút!
cột R (ngày kết thúc hợp đồng lao động) trong sheet "DM_HD" em để trống ngày vì là hợp đồng lao động không xác định thời hạn, nên chỉ có ngày bắt đầu ký (cột Q) mà không có ngày kết thúc hợp đồng.
Như vậy nếu (cột R) trong sheet "DM_HD" để trống thì khi chạy dữ liệu ở sheet "HD_LD" dòng số 24 sẽ xuất hiện lỗi (như hình đính kèm)
Anh có thể cho em hướng xử lý:
1/ nếu cột R trong sheet "DM_HD" có dữ liệu thì dòng số 24 vẫn là "từ ngày....tháng....năm...đến....ngày....tháng...năm..."
2/ nếu cột R trong sheet "DM_HD" không điền dữ liệu thì dòng số 24 sẽ là "từ ngày....tháng....năm".
Rất mong sự giúp đỡ của anh và các thầy!
View attachment 213959
Em gõ dấu "" hoặc thêm dấu . ở DM_HD xem được không. Anh không trên máy nên không thử được
 
Upvote 0
Em gõ dấu "" hoặc thêm dấu . ở DM_HD xem được không. Anh không trên máy nên không thử được
Dạ! vẫn không được ạ!
Hôm nọ hỏi anh vấn đề để liên kết giữ liệu từ sheet"DM_HD" sang sheet "HD_LD" khi nhấn cuộn Spin.
Em xem tưởng dùng link và hàm để liên kết nhưng không phải mà là dùng code đúng không anh?
Bài này hôm nọ em hỏi anh:
Nên chỉnh sửa mà có động đến code em mù tịt, chả biết lối nào mà lần.
 
Upvote 0
Dạ! vẫn không được ạ!
Hôm nọ hỏi anh vấn đề để liên kết giữ liệu từ sheet"DM_HD" sang sheet "HD_LD" khi nhấn cuộn Spin.
Em xem tưởng dùng link và hàm để liên kết nhưng không phải mà là dùng code đúng không anh?
Bài này hôm nọ em hỏi anh:
Nên chỉnh sửa mà có động đến code em mù tịt, chả biết lối nào mà lần.
Để có trên máy mở file xem rồi hỗ trợ em nhé
 
Upvote 0
Thay dòng:
Mã:
Range(Range("BB1").Value).Value = "   - T" & ChrW(7915) & ": ngày " & Day(S_DM.Range("Q" & Rng.Row).Value) & " tháng " 
& Month(S_DM.Range("Q" & Rng.Row).Value) & " n" & ChrW(259) & "m " & Year(S_DM.Range("Q" & Rng.Row).Value) & " " &ChrW(273) & ChrW(7871) & "n " _
& "ngày " & Day(S_DM.Range("R" & Rng.Row).Value) & " tháng "
& Month(S_DM.Range("R" & Rng.Row).Value) & " n" & ChrW(259) & "m " & Year(S_DM.Range("R" & Rng.Row).Value) & "."
bằng dòng:
Mã:
Range(Range("BB1").Value).Value = "   - T" & ChrW(7915) & ": ngày " & Day(S_DM.Range("Q" & Rng.Row).Value) & " tháng " & _
   Month(S_DM.Range("Q" & Rng.Row).Value) & " n" & ChrW(259) & "m " & Year(S_DM.Range("Q" & Rng.Row).Value) & " " & ChrW(273) & ChrW(7871) & "n " & "ngày " & _
    IIf(S_DM.Range("R" & Rng.Row).Value > 0, Day(S_DM.Range("R" & Rng.Row).Value), "......") & " tháng " _
    & IIf(S_DM.Range("R" & Rng.Row).Value > 0, Month(S_DM.Range("R" & Rng.Row).Value), "......") & " n" & ChrW(259) & "m " & _
    IIf(S_DM.Range("R" & Rng.Row).Value > 0, Year(S_DM.Range("R" & Rng.Row).Value), "......") & "."
 
Upvote 0
Thay dòng:
Mã:
Range(Range("BB1").Value).Value = "   - T" & ChrW(7915) & ": ngày " & Day(S_DM.Range("Q" & Rng.Row).Value) & " tháng "
& Month(S_DM.Range("Q" & Rng.Row).Value) & " n" & ChrW(259) & "m " & Year(S_DM.Range("Q" & Rng.Row).Value) & " " &ChrW(273) & ChrW(7871) & "n " _
& "ngày " & Day(S_DM.Range("R" & Rng.Row).Value) & " tháng "
& Month(S_DM.Range("R" & Rng.Row).Value) & " n" & ChrW(259) & "m " & Year(S_DM.Range("R" & Rng.Row).Value) & "."
bằng dòng:
Mã:
Range(Range("BB1").Value).Value = "   - T" & ChrW(7915) & ": ngày " & Day(S_DM.Range("Q" & Rng.Row).Value) & " tháng " & _
   Month(S_DM.Range("Q" & Rng.Row).Value) & " n" & ChrW(259) & "m " & Year(S_DM.Range("Q" & Rng.Row).Value) & " " & ChrW(273) & ChrW(7871) & "n " & "ngày " & _
    IIf(S_DM.Range("R" & Rng.Row).Value > 0, Day(S_DM.Range("R" & Rng.Row).Value), "......") & " tháng " _
    & IIf(S_DM.Range("R" & Rng.Row).Value > 0, Month(S_DM.Range("R" & Rng.Row).Value), "......") & " n" & ChrW(259) & "m " & _
    IIf(S_DM.Range("R" & Rng.Row).Value > 0, Year(S_DM.Range("R" & Rng.Row).Value), "......") & "."
Dạ! em làm theo anh hướng dẫn, nhưng vẫn cho kết quả chưa đúng ý! anh xem giúp em ạ!
78.png
 

File đính kèm

Upvote 0
Với câu lệnh VBA quá dài, ta nên ngắt ra thành 2 hay 3 dòng như ví dụ sau:
PHP:
   Range(Range("AP4").Value).Value = _
    S_DM.Range("D5").Value & ", " & "ngày " & Day(S_DM.Range("Q" & Rng.Row).Value) & " tháng " & Month(S_DM.Range("Q" & Rng.Row).Value) _
        & " n" & ChrW(259) & "m " & Year(S_DM.Range("Q" & Rng.Row).Value)

Một cách khác nữa, ta quan sát thấy trong câu lệnh lặp lại 3 lần mệnh đề S_DM.Range("Q" & Rng.Row).Value
Trong những trường hợp này ta nên đưa vô 1 tham biến để làm ngắn gọn & thanh thoát cho chương trình (ngõ hầu dễ trong việc kiểm soát câuì lệnh)
Ví dụ:
Dim CNg As Date
CNg = S_DM.Range("Q" & Rng.Row).Value
Lúc đó câu lệnh dài bên trên sẽ không còn trãi qua 3 dòng như trên

Tham biến CNg này ta có thể xài lại cho các câu lệnh tương tự bên dưới như câu:

Cng = S_DM.Range("F" & Rng.Row).Value
Range(Range("AW1").Value).Value = " Sinh ngày: " & Day(CNg) & "/" & Month(CNg) & "/" & Year(CNg)

Chúc vui!
 
Upvote 0
Vâng anh ơi, hic cái đó thì được rồi nhưng k hiểu sao phần tô vàng(Dòng số 11: ) đáng lẽ ra thì phải điền tên công ty là :
"Công ty TNHH Một thành viên Đầu tư Phát triển Đông Bắc Á"
thì lại trống, khi spin vẫn không chạy anh nhỉ!
Untitled.png
 

File đính kèm

Upvote 0

File đính kèm

Upvote 0
Web KT

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

Back
Top Bottom