Xuất ra số theo ngày&tháng&năm hiện tại

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

vantron1990

Thành viên mới
Tham gia
10/9/22
Bài viết
7
Được thích
0
- 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!
 

File đính kèm

  • soquanli.xlsm
    1.5 MB · Đọc: 17
(1) Các trang tính của bạn có cột 'B5' hay cột 'B3'ư?,
(2)
Khi nhập số 5007 ở cột B3 thì sẽ tự dò tìm . . .
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!
 
Tôi dị ứng với tiếng Việt viết tắt.
Sửa các từ a/e rồi tôi sẽ mách cho giải thuật.
 
(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
Bài đã được tự động gộ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
Tôi dị ứng với tiếng Việt viết tắt.
Sửa các từ a/e rồi tôi sẽ mách cho giải thuật.
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 NVHo Ten
NHH00Nguyễn Thị Hồng Hoa
NHH01Ngô Hải Hà
VJH00Vương Hổ
DFD00Dương Đức Di
FJD00Đỗ Dương
NTA00Nhữ 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!

Chào bạ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
Tôi dị ứng với tiếng Việt viết tắt.
Sửa các từ a/e rồi tôi sẽ mách cho giải thuật.
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 NVHo Ten
NHH00Nguyễn Thị Hồng Hoa
NHH01Ngô Hải Hà
VJH00Vương Hổ
DFD00Dương Đức Di
FJD00Đỗ Dương
NTA00Nhữ 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!

Chào bạn!
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
Tôi dị ứng với tiếng Việt viết tắt.
Sửa các từ a/e rồi tôi sẽ mách cho giải thuật.
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 NVHo Ten
NHH00Nguyễn Thị Hồng Hoa
NHH01Ngô Hải Hà
VJH00Vương Hổ
DFD00Dương Đức Di
FJD00Đỗ Dương
NTA00Nhữ 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!

Chào bạn!
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
dạ a nói đúng rồi đó anh. Có thể gợi ý giúp em không?
em cảm ơn!
Bài đã được tự động gộ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
Tôi dị ứng với tiếng Việt viết tắt.
Sửa các từ a/e rồi tôi sẽ mách cho giải thuật.
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 NVHo Ten
NHH00Nguyễn Thị Hồng Hoa
NHH01Ngô Hải Hà
VJH00Vương Hổ
DFD00Dương Đức Di
FJD00Đỗ Dương
NTA00Nhữ 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!

Chào bạn!
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
dạ a nói đúng rồi đó anh. Có thể gợi ý giúp em không?
em cảm ơn!
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")
cảm ơn a, để em làm thử ạ
 
(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
Tôi dị ứng với tiếng Việt viết tắt.
Sửa các từ a/e rồi tôi sẽ mách cho giải thuật.
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 NVHo Ten
NHH00Nguyễn Thị Hồng Hoa
NHH01Ngô Hải Hà
VJH00Vương Hổ
DFD00Dương Đức Di
FJD00Đỗ Dương
NTA00Nhữ 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!

Chào bạn!
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
dạ a nói đúng rồi đó anh. Có thể gợi ý giúp em không?
em cảm ơn!
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")
cảm ơn a, để em làm thử ạ
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âng đúng rồi anh, ý em muốn vậy mà em làm hoài không được anh
 
- 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!
Dùng công thức Excel
Mã:
=TEXT(B4,"yyyymmdd")&B3&TEXT(IFERROR(LOOKUP(2,1/(TEXT(B4,"yyyymmdd")&B3=LEFT(DATA!$C$3:$C$999,12)),RIGHT(DATA!$C$3:$C$999,3)),0)+1,"000")
Hoặc dùng hàm tự tạo
Mã:
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
Công thức ngoài sheet
Mã:
=SoPhieu(B3,B4,DATA!$C$3:$C$8)
 
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!

Chúc bạn sớm có thành công mĩ mã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
 

File đính kèm

  • soquanli.xlsm
    1.5 MB · Đọc: 5
(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
Tôi dị ứng với tiếng Việt viết tắt.
Sửa các từ a/e rồi tôi sẽ mách cho giải thuật.
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 NVHo Ten
NHH00Nguyễn Thị Hồng Hoa
NHH01Ngô Hải Hà
VJH00Vương Hổ
DFD00Dương Đức Di
FJD00Đỗ Dương
NTA00Nhữ 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!

Chào bạn!
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
dạ a nói đúng rồi đó anh. Có thể gợi ý giúp em không?
em cảm ơn!
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")
cảm ơn a, để em làm thử ạ
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âng đúng rồi anh, ý em muốn vậy mà em làm hoài không được anh
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!

Chúc bạn sớm có thành công mĩ mãn!
vâng cảm ơn anh!
Bài đã được tự động gộ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
Tôi dị ứng với tiếng Việt viết tắt.
Sửa các từ a/e rồi tôi sẽ mách cho giải thuật.
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 NVHo Ten
NHH00Nguyễn Thị Hồng Hoa
NHH01Ngô Hải Hà
VJH00Vương Hổ
DFD00Dương Đức Di
FJD00Đỗ Dương
NTA00Nhữ 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!

Chào bạn!
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
dạ a nói đúng rồi đó anh. Có thể gợi ý giúp em không?
em cảm ơn!
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")
cảm ơn a, để em làm thử ạ
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âng đúng rồi anh, ý em muốn vậy mà em làm hoài không được anh
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!

Chúc bạn sớm có thành công mĩ mãn!
vâng cảm ơn anh!
Đạ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
cảm ơn anh em thử xem 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
Tôi dị ứng với tiếng Việt viết tắt.
Sửa các từ a/e rồi tôi sẽ mách cho giải thuật.
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 NVHo Ten
NHH00Nguyễn Thị Hồng Hoa
NHH01Ngô Hải Hà
VJH00Vương Hổ
DFD00Dương Đức Di
FJD00Đỗ Dương
NTA00Nhữ 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!

Chào bạn!
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
dạ a nói đúng rồi đó anh. Có thể gợi ý giúp em không?
em cảm ơn!
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")
cảm ơn a, để em làm thử ạ
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âng đúng rồi anh, ý em muốn vậy mà em làm hoài không được anh
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!

Chúc bạn sớm có thành công mĩ mãn!
vâng cảm ơn anh!
Đạ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
cảm ơn anh
Đạ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
cảm ơn anh! code chạy rất tốt giống ý em cannf cảm ơn anh nhiều nha
 
Web KT
Back
Top Bottom