- Mình mới học viết nhưng viết hoài không được nhờ A/E giúp với:
=> Cột B5 mình muốn dữ liệu xuất ra với điều kiện sau:
Khi nhập số 5007 ở cột B3 thì sẽ tự dò tìm ở sheet DATA cột $C:$C xem dữ liệu ở B3 gồm ngày&tháng&năm hiện tại &B3&"001" xem có tồn tại hay không?
+ nếu không có tồn tại thì sẽ xuất dữ liệu ô B5 là ngày&tháng&năm hiện tại &B3&"001"
+ còn nếu có tồn tại thì phải xem có thêm ngày&tháng&năm hiện tại &B3&"002" và.......ngày&tháng&năm hiện tại &B3&"n" ( n ở đây là 001 đến 100 ) không nếu có thì xuất dữ liệu ô B5 là ngày&tháng&năm hiện tại &B3&"n + 001" => là tăng thêm 1 số ( ví dụ n= 002 thì xuất dữ liệu ra là ngày&tháng&năm hiện tại &B3&"003")
Mình suy nghĩ hoài không được nhờ a/e có thời gian giúp ạ
cảm ơn ạ
File mình đính kèm luôn nha!
(1) Các trang tính của bạn có cột 'B5' hay cột 'B3'ư?,
(2)
Bạn nhận số 5007 vô [B3] của trang tính nào?
Nói chung là cần phải có phiên dịch những câu văn của bạn sang tiếng Việt!
Nhập 5007 ở B3 ( thông cảm không biết nói sao cho chính xác ) của sheet "FORM_NHAP"
ví dụ nhập 5007 ở cột B3 của sheet " FORM_NHAP" thì sẽ tự động dò tìm ở sheet " DATA" cột C
trường hợp file mình cung cấp thì số 5007 ở B3 của sheet "FORM_NHAP" nếu dò qua sheet " DATA" cột C ngày&tháng&năm hiện tại &B3 là 202312295007 ( tiêu đề ở trên mình ghi nhằm đúng là năm&tháng&ngày &B3 => 202312295007 )
+ nếu không có tồn tại thì sẽ xuất dữ liệu ô B5 là => năm&tháng&ngày &B3&"001" ( xuất ra 202312295007001)
+ còn nếu có tồn tại thì phải xem có thêm năm&tháng&ngày &B3&"002" và......năm&tháng&ngày &B3&"n" ( n ở đây là 001 đến 100 ) nếu có thì xuất dữ liệu ô B5 là năm&tháng&ngày &B3&"n + 001" => là tăng thêm 1 số ( ví dụ n= 002 thì xuất dữ liệu ra là năm&tháng&ngày &B3&"003" là 202312295007003)
cảm ơn đã phản hồi
(1) Các trang tính của bạn có cột 'B5' hay cột 'B3'ư?,
(2)
Bạn nhận số 5007 vô [B3] của trang tính nào?
Nói chung là cần phải có phiên dịch những câu văn của bạn sang tiếng Việt!
Nhập 5007 ở B3 ( thông cảm không biết nói sao cho chính xác ) của sheet "FORM_NHAP"
ví dụ nhập 5007 ở cột B3 của sheet " FORM_NHAP" thì sẽ tự động dò tìm ở sheet " DATA" cột C
trường hợp file mình cung cấp thì số 5007 ở B3 của sheet "FORM_NHAP" nếu dò qua sheet " DATA" cột C ngày&tháng&năm hiện tại &B3 là 202312295007 ( tiêu đề ở trên mình ghi nhằm đúng là năm&tháng&ngày &B3 => 202312295007 )
+ nếu không có tồn tại thì sẽ xuất dữ liệu ô B5 là => năm&tháng&ngày &B3&"001" ( xuất ra 202312295007001)
+ còn nếu có tồn tại thì phải xem có thêm năm&tháng&ngày &B3&"002" và......năm&tháng&ngày &B3&"n" ( n ở đây là 001 đến 100 ) nếu có thì xuất dữ liệu ô B5 là năm&tháng&ngày &B3&"n + 001" => là tăng thêm 1 số ( ví dụ n= 002 thì xuất dữ liệu ra là năm&tháng&ngày &B3&"003" là 202312295007003)
cảm ơn đã phản hồi
mình không phải cố tình viết tắt mà không biết truyền đạt ý sao co a/e hiểu để giúp mình đó
Nhập 5007 ở B3 ( thông cảm không biết nói sao cho chính xác ) của sheet "FORM_NHAP"
ví dụ nhập 5007 ở cột B3 của sheet " FORM_NHAP" thì sẽ tự động dò tìm ở sheet " DATA" cột C
trường hợp file mình cung cấp thì số 5007 ở B3 của sheet "FORM_NHAP" nếu dò qua sheet " DATA" cột C ngày&tháng&năm hiện tại &B3 là 202312295007 ( tiêu đề ở trên mình ghi nhằm đúng là năm&tháng&ngày &B3 => 202312295007 )
+ nếu không có tồn tại thì sẽ xuất dữ liệu ô B5 là => năm&tháng&ngày &B3&"001" ( xuất ra 202312295007001)
+ còn nếu có tồn tại thì phải xem có thêm năm&tháng&ngày &B3&"002" và......năm&tháng&ngày &B3&"n" ( n ở đây là 001 đến 100 ) nếu có thì xuất dữ liệu ô B5 là năm&tháng&ngày &B3&"n + 001" => là tăng thêm 1 số ( ví dụ n= 002 thì xuất dữ liệu ra là năm&tháng&ngày &B3&"003" là 202312295007003)
cảm ơn đã phản hồi
cảm ơn đã phản hồi
Trước hết chúng ta bàn luận nội dung các dòng (từ dòng 3 đến dòng 12) ở trang Form_Nhap
D3 Đó là 'Người báo cáo' & số 5007 này chắc là mã NV mà CQ bạn ấn định cho 1 ai đó đang làm việc trong CQ của bạn;
Nhưng con số này vô tri giác & làm sao bạn có thể nhớ hết các mã NV của tất thẩy các nhân viên trong CQ bạn?!
Nếu là mình thì sẽ tạo bộ mã trực quan hơn, như ví dụ dưới đây:
Ma NV
Ho Ten
NHH00
Nguyễn Thị Hồng Hoa
NHH01
Ngô Hải Hà
VJH00
Vương Hổ
DFD00
Dương Đức Di
FJD00
Đỗ Dương
NTA00
Nhữ Thị Ái
Thứ đến là dòng có nội dung là 'Ngày báo cáo'
Vì nó liên quan để tạo ra mã báo cáo, cho nên bàn thêm chút chỗ này:
Mã ngày BC bạn cho ghép để tạo ra số có 15 kí số; đó theo mình là quá dài & đến giới hạn của Excel!Nếu là mình thì chỉ là vầy:
C39CNHH01***
C3 biểu thị cho năm 2023; D4 sẽ để biểu diễn cho năm 2034, . . .
Tiếp là con số 9 để chỉ tháng 9; tháng 10 sẽ mang kí tự A
C chữ cái hay chữ số chỉ ngày (c là ngày 12)
3 kí tự tiếp theo là phần đặt tính của mã NV; 2 con số tiếp là phần định trị của mã NV;
Cuối cùng sẽ là 3 ký số tăng lên trong 1 ngày
Tuy ngó dài dòng vậy, nhưng sẽ được VBA hay củng với Name giải quyết cho bạn trơn tru!
Nếu bạn chấp nhận các gợi ý của mình thì ta sẽ bàn tiếp!
(1) Các trang tính của bạn có cột 'B5' hay cột 'B3'ư?,
(2)
Bạn nhận số 5007 vô [B3] của trang tính nào?
Nói chung là cần phải có phiên dịch những câu văn của bạn sang tiếng Việt!
Nhập 5007 ở B3 ( thông cảm không biết nói sao cho chính xác ) của sheet "FORM_NHAP"
ví dụ nhập 5007 ở cột B3 của sheet " FORM_NHAP" thì sẽ tự động dò tìm ở sheet " DATA" cột C
trường hợp file mình cung cấp thì số 5007 ở B3 của sheet "FORM_NHAP" nếu dò qua sheet " DATA" cột C ngày&tháng&năm hiện tại &B3 là 202312295007 ( tiêu đề ở trên mình ghi nhằm đúng là năm&tháng&ngày &B3 => 202312295007 )
+ nếu không có tồn tại thì sẽ xuất dữ liệu ô B5 là => năm&tháng&ngày &B3&"001" ( xuất ra 202312295007001)
+ còn nếu có tồn tại thì phải xem có thêm năm&tháng&ngày &B3&"002" và......năm&tháng&ngày &B3&"n" ( n ở đây là 001 đến 100 ) nếu có thì xuất dữ liệu ô B5 là năm&tháng&ngày &B3&"n + 001" => là tăng thêm 1 số ( ví dụ n= 002 thì xuất dữ liệu ra là năm&tháng&ngày &B3&"003" là 202312295007003)
cảm ơn đã phản hồi
mình không phải cố tình viết tắt mà không biết truyền đạt ý sao co a/e hiểu để giúp mình đó
Nhập 5007 ở B3 ( thông cảm không biết nói sao cho chính xác ) của sheet "FORM_NHAP"
ví dụ nhập 5007 ở cột B3 của sheet " FORM_NHAP" thì sẽ tự động dò tìm ở sheet " DATA" cột C
trường hợp file mình cung cấp thì số 5007 ở B3 của sheet "FORM_NHAP" nếu dò qua sheet " DATA" cột C ngày&tháng&năm hiện tại &B3 là 202312295007 ( tiêu đề ở trên mình ghi nhằm đúng là năm&tháng&ngày &B3 => 202312295007 )
+ nếu không có tồn tại thì sẽ xuất dữ liệu ô B5 là => năm&tháng&ngày &B3&"001" ( xuất ra 202312295007001)
+ còn nếu có tồn tại thì phải xem có thêm năm&tháng&ngày &B3&"002" và......năm&tháng&ngày &B3&"n" ( n ở đây là 001 đến 100 ) nếu có thì xuất dữ liệu ô B5 là năm&tháng&ngày &B3&"n + 001" => là tăng thêm 1 số ( ví dụ n= 002 thì xuất dữ liệu ra là năm&tháng&ngày &B3&"003" là 202312295007003)
cảm ơn đã phản hồi
cảm ơn đã phản hồi
Trước hết chúng ta bàn luận nội dung các dòng (từ dòng 3 đến dòng 12) ở trang Form_Nhap
D3 Đó là 'Người báo cáo' & số 5007 này chắc là mã NV mà CQ bạn ấn định cho 1 ai đó đang làm việc trong CQ của bạn;
Nhưng con số này vô tri giác & làm sao bạn có thể nhớ hết các mã NV của tất thẩy các nhân viên trong CQ bạn?!
Nếu là mình thì sẽ tạo bộ mã trực quan hơn, như ví dụ dưới đây:
Ma NV
Ho Ten
NHH00
Nguyễn Thị Hồng Hoa
NHH01
Ngô Hải Hà
VJH00
Vương Hổ
DFD00
Dương Đức Di
FJD00
Đỗ Dương
NTA00
Nhữ Thị Ái
Thứ đến là dòng có nội dung là 'Ngày báo cáo'
Vì nó liên quan để tạo ra mã báo cáo, cho nên bàn thêm chút chỗ này:
Mã ngày BC bạn cho ghép để tạo ra số có 15 kí số; đó theo mình là quá dài & đến giới hạn của Excel!Nếu là mình thì chỉ là vầy:
C39CNHH01***
C3 biểu thị cho năm 2023; D4 sẽ để biểu diễn cho năm 2034, . . .
Tiếp là con số 9 để chỉ tháng 9; tháng 10 sẽ mang kí tự A
C chữ cái hay chữ số chỉ ngày (c là ngày 12)
3 kí tự tiếp theo là phần đặt tính của mã NV; 2 con số tiếp là phần định trị của mã NV;
Cuối cùng sẽ là 3 ký số tăng lên trong 1 ngày
Tuy ngó dài dòng vậy, nhưng sẽ được VBA hay củng với Name giải quyết cho bạn trơn tru!
Nếu bạn chấp nhận các gợi ý của mình thì ta sẽ bàn tiếp!
C39CNHH01*** số này mình không được phép thay đổi ạ, cảm ơn đã phản hồi.
Chúc bạn một ngày tốt lành. rất vui khi được phản hồi, có lẽ mình sẽ tìm cách khác ạ cảm ơn nha
Nhập 5007 ở B3 ( thông cảm không biết nói sao cho chính xác ) của sheet "FORM_NHAP"
ví dụ nhập 5007 ở cột B3 của sheet " FORM_NHAP" thì sẽ tự động dò tìm ở sheet " DATA" cột C
trường hợp file mình cung cấp thì số 5007 ở B3 của sheet "FORM_NHAP" nếu dò qua sheet " DATA" cột C ngày&tháng&năm hiện tại &B3 là 202312295007 ( tiêu đề ở trên mình ghi nhằm đúng là năm&tháng&ngày &B3 => 202312295007 )
+ nếu không có tồn tại thì sẽ xuất dữ liệu ô B5 là => năm&tháng&ngày &B3&"001" ( xuất ra 202312295007001)
+ còn nếu có tồn tại thì phải xem có thêm năm&tháng&ngày &B3&"002" và......năm&tháng&ngày &B3&"n" ( n ở đây là 001 đến 100 ) nếu có thì xuất dữ liệu ô B5 là năm&tháng&ngày &B3&"n + 001" => là tăng thêm 1 số ( ví dụ n= 002 thì xuất dữ liệu ra là năm&tháng&ngày &B3&"003" là 202312295007003)
cảm ơn đã phản hồi
mình không phải cố tình viết tắt mà không biết truyền đạt ý sao co a/e hiểu để giúp mình đó
Nhập 5007 ở B3 ( thông cảm không biết nói sao cho chính xác ) của sheet "FORM_NHAP"
ví dụ nhập 5007 ở cột B3 của sheet " FORM_NHAP" thì sẽ tự động dò tìm ở sheet " DATA" cột C
trường hợp file mình cung cấp thì số 5007 ở B3 của sheet "FORM_NHAP" nếu dò qua sheet " DATA" cột C ngày&tháng&năm hiện tại &B3 là 202312295007 ( tiêu đề ở trên mình ghi nhằm đúng là năm&tháng&ngày &B3 => 202312295007 )
+ nếu không có tồn tại thì sẽ xuất dữ liệu ô B5 là => năm&tháng&ngày &B3&"001" ( xuất ra 202312295007001)
+ còn nếu có tồn tại thì phải xem có thêm năm&tháng&ngày &B3&"002" và......năm&tháng&ngày &B3&"n" ( n ở đây là 001 đến 100 ) nếu có thì xuất dữ liệu ô B5 là năm&tháng&ngày &B3&"n + 001" => là tăng thêm 1 số ( ví dụ n= 002 thì xuất dữ liệu ra là năm&tháng&ngày &B3&"003" là 202312295007003)
cảm ơn đã phản hồi
cảm ơn đã phản hồi
C39CNHH01*** số này mình không được phép thay đổi ạ, cảm ơn đã phản hồi.
Chúc bạn một ngày tốt lành. rất vui khi được phản hồi, có lẽ mình sẽ tìm cách khác ạ cảm ơn nha
Mình đoán là thế này không biết có đúng hay không:
*********************************************
Mục đích cuối cùng là tạo số PO tự động.
Trước tiên kiểm tra xem số PO của ngày hiện hành có chưa
Nếu chưa có thì tạo PO mới của ngày hiện hành bắt đầu từ sô 001
Nếu có rồi thì tạo số PO kế tiếp. Giả sử nếu ngày hiện hành đã tạo 1 PO rồi thì PO tiếp theo sẽ là 002, và cứ thế diễn ra....
Số PO theo định dạng là năm tháng ngày + mã code + số thứ tự
.....................................
Thỉnh thoảng mình cũng có xử lý vài ca thế này
Vì bài này đăng ở box gì thế này và yêu cầu viết bằng VBA nên công thức như sau:
=TEXT(B4;"yyyymmdd")&B3&TEXT(SUM(IFERROR(SEARCH("*"&TEXT(B4;"yyyymmdd")&B3&"*";DATA!$C$1:$C$8);0))+1;"000")
(1) Các trang tính của bạn có cột 'B5' hay cột 'B3'ư?,
(2)
Bạn nhận số 5007 vô [B3] của trang tính nào?
Nói chung là cần phải có phiên dịch những câu văn của bạn sang tiếng Việt!
Nhập 5007 ở B3 ( thông cảm không biết nói sao cho chính xác ) của sheet "FORM_NHAP"
ví dụ nhập 5007 ở cột B3 của sheet " FORM_NHAP" thì sẽ tự động dò tìm ở sheet " DATA" cột C
trường hợp file mình cung cấp thì số 5007 ở B3 của sheet "FORM_NHAP" nếu dò qua sheet " DATA" cột C ngày&tháng&năm hiện tại &B3 là 202312295007 ( tiêu đề ở trên mình ghi nhằm đúng là năm&tháng&ngày &B3 => 202312295007 )
+ nếu không có tồn tại thì sẽ xuất dữ liệu ô B5 là => năm&tháng&ngày &B3&"001" ( xuất ra 202312295007001)
+ còn nếu có tồn tại thì phải xem có thêm năm&tháng&ngày &B3&"002" và......năm&tháng&ngày &B3&"n" ( n ở đây là 001 đến 100 ) nếu có thì xuất dữ liệu ô B5 là năm&tháng&ngày &B3&"n + 001" => là tăng thêm 1 số ( ví dụ n= 002 thì xuất dữ liệu ra là năm&tháng&ngày &B3&"003" là 202312295007003)
cảm ơn đã phản hồi
mình không phải cố tình viết tắt mà không biết truyền đạt ý sao co a/e hiểu để giúp mình đó
Nhập 5007 ở B3 ( thông cảm không biết nói sao cho chính xác ) của sheet "FORM_NHAP"
ví dụ nhập 5007 ở cột B3 của sheet " FORM_NHAP" thì sẽ tự động dò tìm ở sheet " DATA" cột C
trường hợp file mình cung cấp thì số 5007 ở B3 của sheet "FORM_NHAP" nếu dò qua sheet " DATA" cột C ngày&tháng&năm hiện tại &B3 là 202312295007 ( tiêu đề ở trên mình ghi nhằm đúng là năm&tháng&ngày &B3 => 202312295007 )
+ nếu không có tồn tại thì sẽ xuất dữ liệu ô B5 là => năm&tháng&ngày &B3&"001" ( xuất ra 202312295007001)
+ còn nếu có tồn tại thì phải xem có thêm năm&tháng&ngày &B3&"002" và......năm&tháng&ngày &B3&"n" ( n ở đây là 001 đến 100 ) nếu có thì xuất dữ liệu ô B5 là năm&tháng&ngày &B3&"n + 001" => là tăng thêm 1 số ( ví dụ n= 002 thì xuất dữ liệu ra là năm&tháng&ngày &B3&"003" là 202312295007003)
cảm ơn đã phản hồi
cảm ơn đã phản hồi
Trước hết chúng ta bàn luận nội dung các dòng (từ dòng 3 đến dòng 12) ở trang Form_Nhap
D3 Đó là 'Người báo cáo' & số 5007 này chắc là mã NV mà CQ bạn ấn định cho 1 ai đó đang làm việc trong CQ của bạn;
Nhưng con số này vô tri giác & làm sao bạn có thể nhớ hết các mã NV của tất thẩy các nhân viên trong CQ bạn?!
Nếu là mình thì sẽ tạo bộ mã trực quan hơn, như ví dụ dưới đây:
Ma NV
Ho Ten
NHH00
Nguyễn Thị Hồng Hoa
NHH01
Ngô Hải Hà
VJH00
Vương Hổ
DFD00
Dương Đức Di
FJD00
Đỗ Dương
NTA00
Nhữ Thị Ái
Thứ đến là dòng có nội dung là 'Ngày báo cáo'
Vì nó liên quan để tạo ra mã báo cáo, cho nên bàn thêm chút chỗ này:
Mã ngày BC bạn cho ghép để tạo ra số có 15 kí số; đó theo mình là quá dài & đến giới hạn của Excel!Nếu là mình thì chỉ là vầy:
C39CNHH01***
C3 biểu thị cho năm 2023; D4 sẽ để biểu diễn cho năm 2034, . . .
Tiếp là con số 9 để chỉ tháng 9; tháng 10 sẽ mang kí tự A
C chữ cái hay chữ số chỉ ngày (c là ngày 12)
3 kí tự tiếp theo là phần đặt tính của mã NV; 2 con số tiếp là phần định trị của mã NV;
Cuối cùng sẽ là 3 ký số tăng lên trong 1 ngày
Tuy ngó dài dòng vậy, nhưng sẽ được VBA hay củng với Name giải quyết cho bạn trơn tru!
Nếu bạn chấp nhận các gợi ý của mình thì ta sẽ bàn tiếp!
C39CNHH01*** số này mình không được phép thay đổi ạ, cảm ơn đã phản hồi.
Chúc bạn một ngày tốt lành. rất vui khi được phản hồi, có lẽ mình sẽ tìm cách khác ạ cảm ơn nha
Mình đoán là thế này không biết có đúng hay không:
*********************************************
Mục đích cuối cùng là tạo số PO tự động.
Trước tiên kiểm tra xem số PO của ngày hiện hành có chưa
Nếu chưa có thì tạo PO mới của ngày hiện hành bắt đầu từ sô 001
Nếu có rồi thì tạo số PO kế tiếp. Giả sử nếu ngày hiện hành đã tạo 1 PO rồi thì PO tiếp theo sẽ là 002, và cứ thế diễn ra....
Số PO theo định dạng là năm tháng ngày + mã code + số thứ tự
.....................................
Thỉnh thoảng mình cũng có xử lý vài ca thế này
(1) Các trang tính của bạn có cột 'B5' hay cột 'B3'ư?,
(2)
Bạn nhận số 5007 vô [B3] của trang tính nào?
Nói chung là cần phải có phiên dịch những câu văn của bạn sang tiếng Việt!
Nhập 5007 ở B3 ( thông cảm không biết nói sao cho chính xác ) của sheet "FORM_NHAP"
ví dụ nhập 5007 ở cột B3 của sheet " FORM_NHAP" thì sẽ tự động dò tìm ở sheet " DATA" cột C
trường hợp file mình cung cấp thì số 5007 ở B3 của sheet "FORM_NHAP" nếu dò qua sheet " DATA" cột C ngày&tháng&năm hiện tại &B3 là 202312295007 ( tiêu đề ở trên mình ghi nhằm đúng là năm&tháng&ngày &B3 => 202312295007 )
+ nếu không có tồn tại thì sẽ xuất dữ liệu ô B5 là => năm&tháng&ngày &B3&"001" ( xuất ra 202312295007001)
+ còn nếu có tồn tại thì phải xem có thêm năm&tháng&ngày &B3&"002" và......năm&tháng&ngày &B3&"n" ( n ở đây là 001 đến 100 ) nếu có thì xuất dữ liệu ô B5 là năm&tháng&ngày &B3&"n + 001" => là tăng thêm 1 số ( ví dụ n= 002 thì xuất dữ liệu ra là năm&tháng&ngày &B3&"003" là 202312295007003)
cảm ơn đã phản hồi
mình không phải cố tình viết tắt mà không biết truyền đạt ý sao co a/e hiểu để giúp mình đó
Nhập 5007 ở B3 ( thông cảm không biết nói sao cho chính xác ) của sheet "FORM_NHAP"
ví dụ nhập 5007 ở cột B3 của sheet " FORM_NHAP" thì sẽ tự động dò tìm ở sheet " DATA" cột C
trường hợp file mình cung cấp thì số 5007 ở B3 của sheet "FORM_NHAP" nếu dò qua sheet " DATA" cột C ngày&tháng&năm hiện tại &B3 là 202312295007 ( tiêu đề ở trên mình ghi nhằm đúng là năm&tháng&ngày &B3 => 202312295007 )
+ nếu không có tồn tại thì sẽ xuất dữ liệu ô B5 là => năm&tháng&ngày &B3&"001" ( xuất ra 202312295007001)
+ còn nếu có tồn tại thì phải xem có thêm năm&tháng&ngày &B3&"002" và......năm&tháng&ngày &B3&"n" ( n ở đây là 001 đến 100 ) nếu có thì xuất dữ liệu ô B5 là năm&tháng&ngày &B3&"n + 001" => là tăng thêm 1 số ( ví dụ n= 002 thì xuất dữ liệu ra là năm&tháng&ngày &B3&"003" là 202312295007003)
cảm ơn đã phản hồi
cảm ơn đã phản hồi
Trước hết chúng ta bàn luận nội dung các dòng (từ dòng 3 đến dòng 12) ở trang Form_Nhap
D3 Đó là 'Người báo cáo' & số 5007 này chắc là mã NV mà CQ bạn ấn định cho 1 ai đó đang làm việc trong CQ của bạn;
Nhưng con số này vô tri giác & làm sao bạn có thể nhớ hết các mã NV của tất thẩy các nhân viên trong CQ bạn?!
Nếu là mình thì sẽ tạo bộ mã trực quan hơn, như ví dụ dưới đây:
Ma NV
Ho Ten
NHH00
Nguyễn Thị Hồng Hoa
NHH01
Ngô Hải Hà
VJH00
Vương Hổ
DFD00
Dương Đức Di
FJD00
Đỗ Dương
NTA00
Nhữ Thị Ái
Thứ đến là dòng có nội dung là 'Ngày báo cáo'
Vì nó liên quan để tạo ra mã báo cáo, cho nên bàn thêm chút chỗ này:
Mã ngày BC bạn cho ghép để tạo ra số có 15 kí số; đó theo mình là quá dài & đến giới hạn của Excel!Nếu là mình thì chỉ là vầy:
C39CNHH01***
C3 biểu thị cho năm 2023; D4 sẽ để biểu diễn cho năm 2034, . . .
Tiếp là con số 9 để chỉ tháng 9; tháng 10 sẽ mang kí tự A
C chữ cái hay chữ số chỉ ngày (c là ngày 12)
3 kí tự tiếp theo là phần đặt tính của mã NV; 2 con số tiếp là phần định trị của mã NV;
Cuối cùng sẽ là 3 ký số tăng lên trong 1 ngày
Tuy ngó dài dòng vậy, nhưng sẽ được VBA hay củng với Name giải quyết cho bạn trơn tru!
Nếu bạn chấp nhận các gợi ý của mình thì ta sẽ bàn tiếp!
C39CNHH01*** số này mình không được phép thay đổi ạ, cảm ơn đã phản hồi.
Chúc bạn một ngày tốt lành. rất vui khi được phản hồi, có lẽ mình sẽ tìm cách khác ạ cảm ơn nha
Mình đoán là thế này không biết có đúng hay không:
*********************************************
Mục đích cuối cùng là tạo số PO tự động.
Trước tiên kiểm tra xem số PO của ngày hiện hành có chưa
Nếu chưa có thì tạo PO mới của ngày hiện hành bắt đầu từ sô 001
Nếu có rồi thì tạo số PO kế tiếp. Giả sử nếu ngày hiện hành đã tạo 1 PO rồi thì PO tiếp theo sẽ là 002, và cứ thế diễn ra....
Số PO theo định dạng là năm tháng ngày + mã code + số thứ tự
.....................................
Thỉnh thoảng mình cũng có xử lý vài ca thế này
Vì bài này đăng ở box gì thế này và yêu cầu viết bằng VBA nên công thức như sau:
=TEXT(B4;"yyyymmdd")&B3&TEXT(SUM(IFERROR(SEARCH("*"&TEXT(B4;"yyyymmdd")&B3&"*";DATA!$C$1:$C$8);0))+1;"000")
(1) Các trang tính của bạn có cột 'B5' hay cột 'B3'ư?,
(2)
Bạn nhận số 5007 vô [B3] của trang tính nào?
Nói chung là cần phải có phiên dịch những câu văn của bạn sang tiếng Việt!
Nhập 5007 ở B3 ( thông cảm không biết nói sao cho chính xác ) của sheet "FORM_NHAP"
ví dụ nhập 5007 ở cột B3 của sheet " FORM_NHAP" thì sẽ tự động dò tìm ở sheet " DATA" cột C
trường hợp file mình cung cấp thì số 5007 ở B3 của sheet "FORM_NHAP" nếu dò qua sheet " DATA" cột C ngày&tháng&năm hiện tại &B3 là 202312295007 ( tiêu đề ở trên mình ghi nhằm đúng là năm&tháng&ngày &B3 => 202312295007 )
+ nếu không có tồn tại thì sẽ xuất dữ liệu ô B5 là => năm&tháng&ngày &B3&"001" ( xuất ra 202312295007001)
+ còn nếu có tồn tại thì phải xem có thêm năm&tháng&ngày &B3&"002" và......năm&tháng&ngày &B3&"n" ( n ở đây là 001 đến 100 ) nếu có thì xuất dữ liệu ô B5 là năm&tháng&ngày &B3&"n + 001" => là tăng thêm 1 số ( ví dụ n= 002 thì xuất dữ liệu ra là năm&tháng&ngày &B3&"003" là 202312295007003)
cảm ơn đã phản hồi
mình không phải cố tình viết tắt mà không biết truyền đạt ý sao co a/e hiểu để giúp mình đó
Nhập 5007 ở B3 ( thông cảm không biết nói sao cho chính xác ) của sheet "FORM_NHAP"
ví dụ nhập 5007 ở cột B3 của sheet " FORM_NHAP" thì sẽ tự động dò tìm ở sheet " DATA" cột C
trường hợp file mình cung cấp thì số 5007 ở B3 của sheet "FORM_NHAP" nếu dò qua sheet " DATA" cột C ngày&tháng&năm hiện tại &B3 là 202312295007 ( tiêu đề ở trên mình ghi nhằm đúng là năm&tháng&ngày &B3 => 202312295007 )
+ nếu không có tồn tại thì sẽ xuất dữ liệu ô B5 là => năm&tháng&ngày &B3&"001" ( xuất ra 202312295007001)
+ còn nếu có tồn tại thì phải xem có thêm năm&tháng&ngày &B3&"002" và......năm&tháng&ngày &B3&"n" ( n ở đây là 001 đến 100 ) nếu có thì xuất dữ liệu ô B5 là năm&tháng&ngày &B3&"n + 001" => là tăng thêm 1 số ( ví dụ n= 002 thì xuất dữ liệu ra là năm&tháng&ngày &B3&"003" là 202312295007003)
cảm ơn đã phản hồi
cảm ơn đã phản hồi
Trước hết chúng ta bàn luận nội dung các dòng (từ dòng 3 đến dòng 12) ở trang Form_Nhap
D3 Đó là 'Người báo cáo' & số 5007 này chắc là mã NV mà CQ bạn ấn định cho 1 ai đó đang làm việc trong CQ của bạn;
Nhưng con số này vô tri giác & làm sao bạn có thể nhớ hết các mã NV của tất thẩy các nhân viên trong CQ bạn?!
Nếu là mình thì sẽ tạo bộ mã trực quan hơn, như ví dụ dưới đây:
Ma NV
Ho Ten
NHH00
Nguyễn Thị Hồng Hoa
NHH01
Ngô Hải Hà
VJH00
Vương Hổ
DFD00
Dương Đức Di
FJD00
Đỗ Dương
NTA00
Nhữ Thị Ái
Thứ đến là dòng có nội dung là 'Ngày báo cáo'
Vì nó liên quan để tạo ra mã báo cáo, cho nên bàn thêm chút chỗ này:
Mã ngày BC bạn cho ghép để tạo ra số có 15 kí số; đó theo mình là quá dài & đến giới hạn của Excel!Nếu là mình thì chỉ là vầy:
C39CNHH01***
C3 biểu thị cho năm 2023; D4 sẽ để biểu diễn cho năm 2034, . . .
Tiếp là con số 9 để chỉ tháng 9; tháng 10 sẽ mang kí tự A
C chữ cái hay chữ số chỉ ngày (c là ngày 12)
3 kí tự tiếp theo là phần đặt tính của mã NV; 2 con số tiếp là phần định trị của mã NV;
Cuối cùng sẽ là 3 ký số tăng lên trong 1 ngày
Tuy ngó dài dòng vậy, nhưng sẽ được VBA hay củng với Name giải quyết cho bạn trơn tru!
Nếu bạn chấp nhận các gợi ý của mình thì ta sẽ bàn tiếp!
C39CNHH01*** số này mình không được phép thay đổi ạ, cảm ơn đã phản hồi.
Chúc bạn một ngày tốt lành. rất vui khi được phản hồi, có lẽ mình sẽ tìm cách khác ạ cảm ơn nha
Mình đoán là thế này không biết có đúng hay không:
*********************************************
Mục đích cuối cùng là tạo số PO tự động.
Trước tiên kiểm tra xem số PO của ngày hiện hành có chưa
Nếu chưa có thì tạo PO mới của ngày hiện hành bắt đầu từ sô 001
Nếu có rồi thì tạo số PO kế tiếp. Giả sử nếu ngày hiện hành đã tạo 1 PO rồi thì PO tiếp theo sẽ là 002, và cứ thế diễn ra....
Số PO theo định dạng là năm tháng ngày + mã code + số thứ tự
.....................................
Thỉnh thoảng mình cũng có xử lý vài ca thế này
Vì bài này đăng ở box gì thế này và yêu cầu viết bằng VBA nên công thức như sau:
=TEXT(B4;"yyyymmdd")&B3&TEXT(SUM(IFERROR(SEARCH("*"&TEXT(B4;"yyyymmdd")&B3&"*";DATA!$C$1:$C$8);0))+1;"000")
Mình đoán là thế này không biết có đúng hay không:
*********************************************
Mục đích cuối cùng là tạo số PO tự động.
Trước tiên kiểm tra xem số PO của ngày hiện hành có chưa
Nếu chưa có thì tạo PO mới của ngày hiện hành bắt đầu từ sô 001
Nếu có rồi thì tạo số PO kế tiếp. Giả sử nếu ngày hiện hành đã tạo 1 PO rồi thì PO tiếp theo sẽ là 002, và cứ thế diễn ra....
Số PO theo định dạng là năm tháng ngày + mã code + số thứ tự
.....................................
Thỉnh thoảng mình cũng có xử lý vài ca thế này
- Mình mới học viết nhưng viết hoài không được nhờ A/E giúp với:
=> Cột B5 mình muốn dữ liệu xuất ra với điều kiện sau:
Khi nhập số 5007 ở cột B3 thì sẽ tự dò tìm ở sheet DATA cột $C:$C xem dữ liệu ở B3 gồm ngày&tháng&năm hiện tại &B3&"001" xem có tồn tại hay không?
+ nếu không có tồn tại thì sẽ xuất dữ liệu ô B5 là ngày&tháng&năm hiện tại &B3&"001"
+ còn nếu có tồn tại thì phải xem có thêm ngày&tháng&năm hiện tại &B3&"002" và.......ngày&tháng&năm hiện tại &B3&"n" ( n ở đây là 001 đến 100 ) không nếu có thì xuất dữ liệu ô B5 là ngày&tháng&năm hiện tại &B3&"n + 001" => là tăng thêm 1 số ( ví dụ n= 002 thì xuất dữ liệu ra là ngày&tháng&năm hiện tại &B3&"003")
Mình suy nghĩ hoài không được nhờ a/e có thời gian giúp ạ
cảm ơn ạ
File mình đính kèm luôn nha!
Function SoPhieu(NV, Ngay As Date, rSP As Range) As String
Dim sRow&, i&, res$, t$, a(1 To 999) As Boolean
t = Format(Ngay, "yyyymmdd") & NV
sRow = rSP.Rows.Count
For i = 1 To sRow
If rSP(i, 1) Like t & "?*" Then
a(CLng(Right(rSP(i, 1), 3))) = True
End If
Next i
For i = 1 To 999
If a(i) = False Then
SoPhieu = t & Format(i, "000")
Exit Function
End If
Next i
End Function
C39CNHH01*** số này mình không được phép thay đổi ạ, cảm ơn đã phản hồi.
Chúc bạn một ngày tốt lành. rất vui khi được phản hồi, có lẽ mình sẽ tìm cách khác ạ cảm ơn nha
Bạn cần thuyết phục để ai đó sẽ cho phép bạn thay đổ!
Để vậy bạn cần làm 1 file để chứng tỏ cách làm của mình khoa học hơn;
Khi có file đó bạn có thể lên chức & lên lương (thăng tiến) dũng mãnh hơn!
- Mình mới học viết nhưng viết hoài không được nhờ A/E giúp với:
=> Cột B5 mình muốn dữ liệu xuất ra với điều kiện sau:
Khi nhập số 5007 ở cột B3 thì sẽ tự dò tìm ở sheet DATA cột $C:$C xem dữ liệu ở B3 gồm ngày&tháng&năm hiện tại &B3&"001" xem có tồn tại hay không?
+ nếu không có tồn tại thì sẽ xuất dữ liệu ô B5 là ngày&tháng&năm hiện tại &B3&"001"
+ còn nếu có tồn tại thì phải xem có thêm ngày&tháng&năm hiện tại &B3&"002" và.......ngày&tháng&năm hiện tại &B3&"n" ( n ở đây là 001 đến 100 ) không nếu có thì xuất dữ liệu ô B5 là ngày&tháng&năm hiện tại &B3&"n + 001" => là tăng thêm 1 số ( ví dụ n= 002 thì xuất dữ liệu ra là ngày&tháng&năm hiện tại &B3&"003")
Mình suy nghĩ hoài không được nhờ a/e có thời gian giúp ạ
cảm ơn ạ
File mình đính kèm luôn nha!
Đại loại như thế này. Bạn thử gõ gì đó vào ô B3 để code hoạt động
Mã:
Sub Tao_So()
Dim sNgay As String, Tim As Range
With Sheets("Form_Nhap")
sNgay = Format(Date, "yyyymmdd") & .Range("B3").Value
Set Tim = Sheets("Data").Range("C:C").Find(sNgay, , , 2)
If Not Tim Is Nothing Then
sNgay = sNgay & Right("00" & Val(Right(Tim, 3)) + 1, 3)
.Range("B5").Value = sNgay
Else
.Range("B5").Value = sNgay & "001"
End If
End With
End Sub
(1) Các trang tính của bạn có cột 'B5' hay cột 'B3'ư?,
(2)
Bạn nhận số 5007 vô [B3] của trang tính nào?
Nói chung là cần phải có phiên dịch những câu văn của bạn sang tiếng Việt!
Nhập 5007 ở B3 ( thông cảm không biết nói sao cho chính xác ) của sheet "FORM_NHAP"
ví dụ nhập 5007 ở cột B3 của sheet " FORM_NHAP" thì sẽ tự động dò tìm ở sheet " DATA" cột C
trường hợp file mình cung cấp thì số 5007 ở B3 của sheet "FORM_NHAP" nếu dò qua sheet " DATA" cột C ngày&tháng&năm hiện tại &B3 là 202312295007 ( tiêu đề ở trên mình ghi nhằm đúng là năm&tháng&ngày &B3 => 202312295007 )
+ nếu không có tồn tại thì sẽ xuất dữ liệu ô B5 là => năm&tháng&ngày &B3&"001" ( xuất ra 202312295007001)
+ còn nếu có tồn tại thì phải xem có thêm năm&tháng&ngày &B3&"002" và......năm&tháng&ngày &B3&"n" ( n ở đây là 001 đến 100 ) nếu có thì xuất dữ liệu ô B5 là năm&tháng&ngày &B3&"n + 001" => là tăng thêm 1 số ( ví dụ n= 002 thì xuất dữ liệu ra là năm&tháng&ngày &B3&"003" là 202312295007003)
cảm ơn đã phản hồi
mình không phải cố tình viết tắt mà không biết truyền đạt ý sao co a/e hiểu để giúp mình đó
Nhập 5007 ở B3 ( thông cảm không biết nói sao cho chính xác ) của sheet "FORM_NHAP"
ví dụ nhập 5007 ở cột B3 của sheet " FORM_NHAP" thì sẽ tự động dò tìm ở sheet " DATA" cột C
trường hợp file mình cung cấp thì số 5007 ở B3 của sheet "FORM_NHAP" nếu dò qua sheet " DATA" cột C ngày&tháng&năm hiện tại &B3 là 202312295007 ( tiêu đề ở trên mình ghi nhằm đúng là năm&tháng&ngày &B3 => 202312295007 )
+ nếu không có tồn tại thì sẽ xuất dữ liệu ô B5 là => năm&tháng&ngày &B3&"001" ( xuất ra 202312295007001)
+ còn nếu có tồn tại thì phải xem có thêm năm&tháng&ngày &B3&"002" và......năm&tháng&ngày &B3&"n" ( n ở đây là 001 đến 100 ) nếu có thì xuất dữ liệu ô B5 là năm&tháng&ngày &B3&"n + 001" => là tăng thêm 1 số ( ví dụ n= 002 thì xuất dữ liệu ra là năm&tháng&ngày &B3&"003" là 202312295007003)
cảm ơn đã phản hồi
cảm ơn đã phản hồi
Trước hết chúng ta bàn luận nội dung các dòng (từ dòng 3 đến dòng 12) ở trang Form_Nhap
D3 Đó là 'Người báo cáo' & số 5007 này chắc là mã NV mà CQ bạn ấn định cho 1 ai đó đang làm việc trong CQ của bạn;
Nhưng con số này vô tri giác & làm sao bạn có thể nhớ hết các mã NV của tất thẩy các nhân viên trong CQ bạn?!
Nếu là mình thì sẽ tạo bộ mã trực quan hơn, như ví dụ dưới đây:
Ma NV
Ho Ten
NHH00
Nguyễn Thị Hồng Hoa
NHH01
Ngô Hải Hà
VJH00
Vương Hổ
DFD00
Dương Đức Di
FJD00
Đỗ Dương
NTA00
Nhữ Thị Ái
Thứ đến là dòng có nội dung là 'Ngày báo cáo'
Vì nó liên quan để tạo ra mã báo cáo, cho nên bàn thêm chút chỗ này:
Mã ngày BC bạn cho ghép để tạo ra số có 15 kí số; đó theo mình là quá dài & đến giới hạn của Excel!Nếu là mình thì chỉ là vầy:
C39CNHH01***
C3 biểu thị cho năm 2023; D4 sẽ để biểu diễn cho năm 2034, . . .
Tiếp là con số 9 để chỉ tháng 9; tháng 10 sẽ mang kí tự A
C chữ cái hay chữ số chỉ ngày (c là ngày 12)
3 kí tự tiếp theo là phần đặt tính của mã NV; 2 con số tiếp là phần định trị của mã NV;
Cuối cùng sẽ là 3 ký số tăng lên trong 1 ngày
Tuy ngó dài dòng vậy, nhưng sẽ được VBA hay củng với Name giải quyết cho bạn trơn tru!
Nếu bạn chấp nhận các gợi ý của mình thì ta sẽ bàn tiếp!
C39CNHH01*** số này mình không được phép thay đổi ạ, cảm ơn đã phản hồi.
Chúc bạn một ngày tốt lành. rất vui khi được phản hồi, có lẽ mình sẽ tìm cách khác ạ cảm ơn nha
Mình đoán là thế này không biết có đúng hay không:
*********************************************
Mục đích cuối cùng là tạo số PO tự động.
Trước tiên kiểm tra xem số PO của ngày hiện hành có chưa
Nếu chưa có thì tạo PO mới của ngày hiện hành bắt đầu từ sô 001
Nếu có rồi thì tạo số PO kế tiếp. Giả sử nếu ngày hiện hành đã tạo 1 PO rồi thì PO tiếp theo sẽ là 002, và cứ thế diễn ra....
Số PO theo định dạng là năm tháng ngày + mã code + số thứ tự
.....................................
Thỉnh thoảng mình cũng có xử lý vài ca thế này
Vì bài này đăng ở box gì thế này và yêu cầu viết bằng VBA nên công thức như sau:
=TEXT(B4;"yyyymmdd")&B3&TEXT(SUM(IFERROR(SEARCH("*"&TEXT(B4;"yyyymmdd")&B3&"*";DATA!$C$1:$C$8);0))+1;"000")
Mình đoán là thế này không biết có đúng hay không:
*********************************************
Mục đích cuối cùng là tạo số PO tự động.
Trước tiên kiểm tra xem số PO của ngày hiện hành có chưa
Nếu chưa có thì tạo PO mới của ngày hiện hành bắt đầu từ sô 001
Nếu có rồi thì tạo số PO kế tiếp. Giả sử nếu ngày hiện hành đã tạo 1 PO rồi thì PO tiếp theo sẽ là 002, và cứ thế diễn ra....
Số PO theo định dạng là năm tháng ngày + mã code + số thứ tự
.....................................
Thỉnh thoảng mình cũng có xử lý vài ca thế này
Bạn cần thuyết phục để ai đó sẽ cho phép bạn thay đổ!
Để vậy bạn cần làm 1 file để chứng tỏ cách làm của mình khoa học hơn;
Khi có file đó bạn có thể lên chức & lên lương (thăng tiến) dũng mãnh hơn!
(1) Các trang tính của bạn có cột 'B5' hay cột 'B3'ư?,
(2)
Bạn nhận số 5007 vô [B3] của trang tính nào?
Nói chung là cần phải có phiên dịch những câu văn của bạn sang tiếng Việt!
Nhập 5007 ở B3 ( thông cảm không biết nói sao cho chính xác ) của sheet "FORM_NHAP"
ví dụ nhập 5007 ở cột B3 của sheet " FORM_NHAP" thì sẽ tự động dò tìm ở sheet " DATA" cột C
trường hợp file mình cung cấp thì số 5007 ở B3 của sheet "FORM_NHAP" nếu dò qua sheet " DATA" cột C ngày&tháng&năm hiện tại &B3 là 202312295007 ( tiêu đề ở trên mình ghi nhằm đúng là năm&tháng&ngày &B3 => 202312295007 )
+ nếu không có tồn tại thì sẽ xuất dữ liệu ô B5 là => năm&tháng&ngày &B3&"001" ( xuất ra 202312295007001)
+ còn nếu có tồn tại thì phải xem có thêm năm&tháng&ngày &B3&"002" và......năm&tháng&ngày &B3&"n" ( n ở đây là 001 đến 100 ) nếu có thì xuất dữ liệu ô B5 là năm&tháng&ngày &B3&"n + 001" => là tăng thêm 1 số ( ví dụ n= 002 thì xuất dữ liệu ra là năm&tháng&ngày &B3&"003" là 202312295007003)
cảm ơn đã phản hồi
mình không phải cố tình viết tắt mà không biết truyền đạt ý sao co a/e hiểu để giúp mình đó
Nhập 5007 ở B3 ( thông cảm không biết nói sao cho chính xác ) của sheet "FORM_NHAP"
ví dụ nhập 5007 ở cột B3 của sheet " FORM_NHAP" thì sẽ tự động dò tìm ở sheet " DATA" cột C
trường hợp file mình cung cấp thì số 5007 ở B3 của sheet "FORM_NHAP" nếu dò qua sheet " DATA" cột C ngày&tháng&năm hiện tại &B3 là 202312295007 ( tiêu đề ở trên mình ghi nhằm đúng là năm&tháng&ngày &B3 => 202312295007 )
+ nếu không có tồn tại thì sẽ xuất dữ liệu ô B5 là => năm&tháng&ngày &B3&"001" ( xuất ra 202312295007001)
+ còn nếu có tồn tại thì phải xem có thêm năm&tháng&ngày &B3&"002" và......năm&tháng&ngày &B3&"n" ( n ở đây là 001 đến 100 ) nếu có thì xuất dữ liệu ô B5 là năm&tháng&ngày &B3&"n + 001" => là tăng thêm 1 số ( ví dụ n= 002 thì xuất dữ liệu ra là năm&tháng&ngày &B3&"003" là 202312295007003)
cảm ơn đã phản hồi
cảm ơn đã phản hồi
Trước hết chúng ta bàn luận nội dung các dòng (từ dòng 3 đến dòng 12) ở trang Form_Nhap
D3 Đó là 'Người báo cáo' & số 5007 này chắc là mã NV mà CQ bạn ấn định cho 1 ai đó đang làm việc trong CQ của bạn;
Nhưng con số này vô tri giác & làm sao bạn có thể nhớ hết các mã NV của tất thẩy các nhân viên trong CQ bạn?!
Nếu là mình thì sẽ tạo bộ mã trực quan hơn, như ví dụ dưới đây:
Ma NV
Ho Ten
NHH00
Nguyễn Thị Hồng Hoa
NHH01
Ngô Hải Hà
VJH00
Vương Hổ
DFD00
Dương Đức Di
FJD00
Đỗ Dương
NTA00
Nhữ Thị Ái
Thứ đến là dòng có nội dung là 'Ngày báo cáo'
Vì nó liên quan để tạo ra mã báo cáo, cho nên bàn thêm chút chỗ này:
Mã ngày BC bạn cho ghép để tạo ra số có 15 kí số; đó theo mình là quá dài & đến giới hạn của Excel!Nếu là mình thì chỉ là vầy:
C39CNHH01***
C3 biểu thị cho năm 2023; D4 sẽ để biểu diễn cho năm 2034, . . .
Tiếp là con số 9 để chỉ tháng 9; tháng 10 sẽ mang kí tự A
C chữ cái hay chữ số chỉ ngày (c là ngày 12)
3 kí tự tiếp theo là phần đặt tính của mã NV; 2 con số tiếp là phần định trị của mã NV;
Cuối cùng sẽ là 3 ký số tăng lên trong 1 ngày
Tuy ngó dài dòng vậy, nhưng sẽ được VBA hay củng với Name giải quyết cho bạn trơn tru!
Nếu bạn chấp nhận các gợi ý của mình thì ta sẽ bàn tiếp!
C39CNHH01*** số này mình không được phép thay đổi ạ, cảm ơn đã phản hồi.
Chúc bạn một ngày tốt lành. rất vui khi được phản hồi, có lẽ mình sẽ tìm cách khác ạ cảm ơn nha
Mình đoán là thế này không biết có đúng hay không:
*********************************************
Mục đích cuối cùng là tạo số PO tự động.
Trước tiên kiểm tra xem số PO của ngày hiện hành có chưa
Nếu chưa có thì tạo PO mới của ngày hiện hành bắt đầu từ sô 001
Nếu có rồi thì tạo số PO kế tiếp. Giả sử nếu ngày hiện hành đã tạo 1 PO rồi thì PO tiếp theo sẽ là 002, và cứ thế diễn ra....
Số PO theo định dạng là năm tháng ngày + mã code + số thứ tự
.....................................
Thỉnh thoảng mình cũng có xử lý vài ca thế này
Vì bài này đăng ở box gì thế này và yêu cầu viết bằng VBA nên công thức như sau:
=TEXT(B4;"yyyymmdd")&B3&TEXT(SUM(IFERROR(SEARCH("*"&TEXT(B4;"yyyymmdd")&B3&"*";DATA!$C$1:$C$8);0))+1;"000")
Mình đoán là thế này không biết có đúng hay không:
*********************************************
Mục đích cuối cùng là tạo số PO tự động.
Trước tiên kiểm tra xem số PO của ngày hiện hành có chưa
Nếu chưa có thì tạo PO mới của ngày hiện hành bắt đầu từ sô 001
Nếu có rồi thì tạo số PO kế tiếp. Giả sử nếu ngày hiện hành đã tạo 1 PO rồi thì PO tiếp theo sẽ là 002, và cứ thế diễn ra....
Số PO theo định dạng là năm tháng ngày + mã code + số thứ tự
.....................................
Thỉnh thoảng mình cũng có xử lý vài ca thế này
Bạn cần thuyết phục để ai đó sẽ cho phép bạn thay đổ!
Để vậy bạn cần làm 1 file để chứng tỏ cách làm của mình khoa học hơn;
Khi có file đó bạn có thể lên chức & lên lương (thăng tiến) dũng mãnh hơn!
Đại loại như thế này. Bạn thử gõ gì đó vào ô B3 để code hoạt động
Mã:
Sub Tao_So()
Dim sNgay As String, Tim As Range
With Sheets("Form_Nhap")
sNgay = Format(Date, "yyyymmdd") & .Range("B3").Value
Set Tim = Sheets("Data").Range("C:C").Find(sNgay, , , 2)
If Not Tim Is Nothing Then
sNgay = sNgay & Right("00" & Val(Right(Tim, 3)) + 1, 3)
.Range("B5").Value = sNgay
Else
.Range("B5").Value = sNgay & "001"
End If
End With
End Sub
(1) Các trang tính của bạn có cột 'B5' hay cột 'B3'ư?,
(2)
Bạn nhận số 5007 vô [B3] của trang tính nào?
Nói chung là cần phải có phiên dịch những câu văn của bạn sang tiếng Việt!
Nhập 5007 ở B3 ( thông cảm không biết nói sao cho chính xác ) của sheet "FORM_NHAP"
ví dụ nhập 5007 ở cột B3 của sheet " FORM_NHAP" thì sẽ tự động dò tìm ở sheet " DATA" cột C
trường hợp file mình cung cấp thì số 5007 ở B3 của sheet "FORM_NHAP" nếu dò qua sheet " DATA" cột C ngày&tháng&năm hiện tại &B3 là 202312295007 ( tiêu đề ở trên mình ghi nhằm đúng là năm&tháng&ngày &B3 => 202312295007 )
+ nếu không có tồn tại thì sẽ xuất dữ liệu ô B5 là => năm&tháng&ngày &B3&"001" ( xuất ra 202312295007001)
+ còn nếu có tồn tại thì phải xem có thêm năm&tháng&ngày &B3&"002" và......năm&tháng&ngày &B3&"n" ( n ở đây là 001 đến 100 ) nếu có thì xuất dữ liệu ô B5 là năm&tháng&ngày &B3&"n + 001" => là tăng thêm 1 số ( ví dụ n= 002 thì xuất dữ liệu ra là năm&tháng&ngày &B3&"003" là 202312295007003)
cảm ơn đã phản hồi
mình không phải cố tình viết tắt mà không biết truyền đạt ý sao co a/e hiểu để giúp mình đó
Nhập 5007 ở B3 ( thông cảm không biết nói sao cho chính xác ) của sheet "FORM_NHAP"
ví dụ nhập 5007 ở cột B3 của sheet " FORM_NHAP" thì sẽ tự động dò tìm ở sheet " DATA" cột C
trường hợp file mình cung cấp thì số 5007 ở B3 của sheet "FORM_NHAP" nếu dò qua sheet " DATA" cột C ngày&tháng&năm hiện tại &B3 là 202312295007 ( tiêu đề ở trên mình ghi nhằm đúng là năm&tháng&ngày &B3 => 202312295007 )
+ nếu không có tồn tại thì sẽ xuất dữ liệu ô B5 là => năm&tháng&ngày &B3&"001" ( xuất ra 202312295007001)
+ còn nếu có tồn tại thì phải xem có thêm năm&tháng&ngày &B3&"002" và......năm&tháng&ngày &B3&"n" ( n ở đây là 001 đến 100 ) nếu có thì xuất dữ liệu ô B5 là năm&tháng&ngày &B3&"n + 001" => là tăng thêm 1 số ( ví dụ n= 002 thì xuất dữ liệu ra là năm&tháng&ngày &B3&"003" là 202312295007003)
cảm ơn đã phản hồi
cảm ơn đã phản hồi
Trước hết chúng ta bàn luận nội dung các dòng (từ dòng 3 đến dòng 12) ở trang Form_Nhap
D3 Đó là 'Người báo cáo' & số 5007 này chắc là mã NV mà CQ bạn ấn định cho 1 ai đó đang làm việc trong CQ của bạn;
Nhưng con số này vô tri giác & làm sao bạn có thể nhớ hết các mã NV của tất thẩy các nhân viên trong CQ bạn?!
Nếu là mình thì sẽ tạo bộ mã trực quan hơn, như ví dụ dưới đây:
Ma NV
Ho Ten
NHH00
Nguyễn Thị Hồng Hoa
NHH01
Ngô Hải Hà
VJH00
Vương Hổ
DFD00
Dương Đức Di
FJD00
Đỗ Dương
NTA00
Nhữ Thị Ái
Thứ đến là dòng có nội dung là 'Ngày báo cáo'
Vì nó liên quan để tạo ra mã báo cáo, cho nên bàn thêm chút chỗ này:
Mã ngày BC bạn cho ghép để tạo ra số có 15 kí số; đó theo mình là quá dài & đến giới hạn của Excel!Nếu là mình thì chỉ là vầy:
C39CNHH01***
C3 biểu thị cho năm 2023; D4 sẽ để biểu diễn cho năm 2034, . . .
Tiếp là con số 9 để chỉ tháng 9; tháng 10 sẽ mang kí tự A
C chữ cái hay chữ số chỉ ngày (c là ngày 12)
3 kí tự tiếp theo là phần đặt tính của mã NV; 2 con số tiếp là phần định trị của mã NV;
Cuối cùng sẽ là 3 ký số tăng lên trong 1 ngày
Tuy ngó dài dòng vậy, nhưng sẽ được VBA hay củng với Name giải quyết cho bạn trơn tru!
Nếu bạn chấp nhận các gợi ý của mình thì ta sẽ bàn tiếp!
C39CNHH01*** số này mình không được phép thay đổi ạ, cảm ơn đã phản hồi.
Chúc bạn một ngày tốt lành. rất vui khi được phản hồi, có lẽ mình sẽ tìm cách khác ạ cảm ơn nha
Mình đoán là thế này không biết có đúng hay không:
*********************************************
Mục đích cuối cùng là tạo số PO tự động.
Trước tiên kiểm tra xem số PO của ngày hiện hành có chưa
Nếu chưa có thì tạo PO mới của ngày hiện hành bắt đầu từ sô 001
Nếu có rồi thì tạo số PO kế tiếp. Giả sử nếu ngày hiện hành đã tạo 1 PO rồi thì PO tiếp theo sẽ là 002, và cứ thế diễn ra....
Số PO theo định dạng là năm tháng ngày + mã code + số thứ tự
.....................................
Thỉnh thoảng mình cũng có xử lý vài ca thế này
Vì bài này đăng ở box gì thế này và yêu cầu viết bằng VBA nên công thức như sau:
=TEXT(B4;"yyyymmdd")&B3&TEXT(SUM(IFERROR(SEARCH("*"&TEXT(B4;"yyyymmdd")&B3&"*";DATA!$C$1:$C$8);0))+1;"000")
Mình đoán là thế này không biết có đúng hay không:
*********************************************
Mục đích cuối cùng là tạo số PO tự động.
Trước tiên kiểm tra xem số PO của ngày hiện hành có chưa
Nếu chưa có thì tạo PO mới của ngày hiện hành bắt đầu từ sô 001
Nếu có rồi thì tạo số PO kế tiếp. Giả sử nếu ngày hiện hành đã tạo 1 PO rồi thì PO tiếp theo sẽ là 002, và cứ thế diễn ra....
Số PO theo định dạng là năm tháng ngày + mã code + số thứ tự
.....................................
Thỉnh thoảng mình cũng có xử lý vài ca thế này
Bạn cần thuyết phục để ai đó sẽ cho phép bạn thay đổ!
Để vậy bạn cần làm 1 file để chứng tỏ cách làm của mình khoa học hơn;
Khi có file đó bạn có thể lên chức & lên lương (thăng tiến) dũng mãnh hơn!
Đại loại như thế này. Bạn thử gõ gì đó vào ô B3 để code hoạt động
Mã:
Sub Tao_So()
Dim sNgay As String, Tim As Range
With Sheets("Form_Nhap")
sNgay = Format(Date, "yyyymmdd") & .Range("B3").Value
Set Tim = Sheets("Data").Range("C:C").Find(sNgay, , , 2)
If Not Tim Is Nothing Then
sNgay = sNgay & Right("00" & Val(Right(Tim, 3)) + 1, 3)
.Range("B5").Value = sNgay
Else
.Range("B5").Value = sNgay & "001"
End If
End With
End Sub
Đại loại như thế này. Bạn thử gõ gì đó vào ô B3 để code hoạt động
Mã:
Sub Tao_So()
Dim sNgay As String, Tim As Range
With Sheets("Form_Nhap")
sNgay = Format(Date, "yyyymmdd") & .Range("B3").Value
Set Tim = Sheets("Data").Range("C:C").Find(sNgay, , , 2)
If Not Tim Is Nothing Then
sNgay = sNgay & Right("00" & Val(Right(Tim, 3)) + 1, 3)
.Range("B5").Value = sNgay
Else
.Range("B5").Value = sNgay & "001"
End If
End With
End Sub