Các câu hỏi về việc Đánh Số Thứ Tự (STT)

Liên hệ QC
Gần đúng rồi anh, cái này tìm trả kết quả còn thiếu nếu D2=2 và trong vùng của cột A là GR012 thì E8=GR012+1=GR013
Vậy thử công thức này xem:
Mã:
=IF(D2=1,"PT","GR")&TEXT(RIGHT(LOOKUP(10^10,1/(LEFT(A12:A17,2)=IF(D2=1,"PT","GR")),A12:A17),3)+1,"000")
Công thức này chỉ đúng với dữ liệu được sắp xếp, nếu không tiện thì dùng công thức mảng của susu16b.
 
Lần chỉnh sửa cuối:
Vậy thử công thức này xem:
Mã:
=IF(D2=1,"PT","GR")&TEXT(RIGHT(LOOKUP(10^10,1/(LEFT(A12:A17,2)=IF(D2=1,"PT","GR")),A12:A17),3)+1,"000")
Công thức này chỉ đúng với dữ liệu được sắp xếp, nếu không tiện thì dùng công thức mảng của susu16b.

Công thức này của anh nó báo lỗi; công thức susu16b thì chạy đúng ý em nhưng khi em thêm là PT003 thì E8 nó không tăng thành PT004. Em muốn giúp em chuyển nó thành VBA có được không ạ?
 
Lần chỉnh sửa cuối:
Công thức này của anh nó báo lỗi; công thức susu16b thì chạy đúng ý em. Em muốn giúp em chuyển nó thành VBA có được không ạ?
VBA thì thử hàm tự tạo này xem:
[gpecode=vb]
Function SoPhieu(Vung As Range, Loai As String)
Dim i As Long, So As Long
For i = 1 To Vung.Rows.Count
If Vung(i) Like Loai & "*" Then
If Val(Right(Vung(i), 3)) > So Then
So = Val(Right(Vung(i), 3))
End If
End If
Next i
SoPhieu = Loai & Format(So + 1, "000")
End Function
[/gpecode]
Nhớ Enable Marco.
Công thức trên chưa tham chiếu qua sheet DATA.
 

File đính kèm

  • xin giup do code dien so thu tu theo dieu kien (2).xls
    34 KB · Đọc: 11
Em xin lỗi vì chưa text nhưng khi text thì nó ko lên. tức là nó sẽ có thêm dò tìm nếu trong cột A đã có PT003 thì tại E8 tự động tăng thêm 1 đơn vị nhưng khi em nhập vào là PT003 thì E8 nó ko tăng thành PT004
 
Xin lỗi anh chị, em nói cụ thể hơn thế này. tại E8 nếu D2=1 và dò tìm cột A DATA nếu trong cột A chưa xuất hiện phiếu thu nào thì khởi tạo ban đầu là PT001, nếu D2=1 và dò tìm cột A DATA nếu trong cột A đã xuất hiện phiếu thu là PT001 thì tăng lên PT002,.... Tương tự cho giấy rút với D2=2
 
Các anh chị giúp em với nhé, em sửa miết mấy hàm anh chị giúp mà chưa chạy được cái nào cả
 
Công thức này của anh nó báo lỗi; công thức susu16b thì chạy đúng ý em nhưng khi em thêm là PT003 thì E8 nó không tăng thành PT004. Em muốn giúp em chuyển nó thành VBA có được không ạ?
Sửa lại cho bạn rồi đây.
 

File đính kèm

  • xin giup do code dien so thu tu theo dieu kien.xls
    21 KB · Đọc: 13
Hỏi Marco thì có Marco, hỏi công thức thì có công thức, bạn xem bài #348 chưa, bạn đã bật Marco chưa?

hihi em xin lỗi nha. Em có bật lên nhưng tại ô E5, E6, E7 thì chạy theo đúng macro, ý em muốn nhờ các anh chị chuyển giúp em code cho công thức trong E8. em áp dụng công thức thì nó hoàn toàn đúng với bài toán của em. Thanks các anh (chị) nhiều!
 
Hỏi Marco thì có Marco, hỏi công thức thì có công thức, bạn xem bài #348 chưa, bạn đã bật Marco chưa?

Anh (chị) giúp em tý nữa nha! khi em sử dụng function tại ô E8 thì nó không chạy nó báo #VALUE!, có phải do mình chưa khai báo vùng không anh. nếu em đặt vùng theo definame là SH (số hiệu) thì giúp em đoạn code khai báo được không ạ?
 
Anh (chị) giúp em tý nữa nha! khi em sử dụng function tại ô E8 thì nó không chạy nó báo #VALUE!, có phải do mình chưa khai báo vùng không anh. nếu em đặt vùng theo definame là SH (số hiệu) thì giúp em đoạn code khai báo được không ạ?
Bạn xem file ở bài #354 đã có name
 
Bạn xem file ở bài #354 đã có name

em đã xem file, ý em là chuyển công thức sang code VBA, bài viết của anh leonguyenz đã chuyển code nhưng em dùng file đó thì khi em đánh hàm vào E8 thì nó lại báo lỗi. vì em khai báo vung là Set vung = Range (sheet1.[A12],sheet1.[A65536].End(xlUp)
 
em đã xem file, ý em là chuyển công thức sang code VBA, bài viết của anh leonguyenz đã chuyển code nhưng em dùng file đó thì khi em đánh hàm vào E8 thì nó lại báo lỗi. vì em khai báo vung là Set vung = Range (sheet1.[A12],sheet1.[A65536].End(xlUp)
Bạn diễn giải nhiều như thế làm gì? Sao không up cái file bị lỗi đó lên?
 

File đính kèm

  • xin giup do code dien so thu tu theo dieu kien (3).xls
    35.5 KB · Đọc: 12
em đã xem file, ý em là chuyển công thức sang code VBA, bài viết của anh leonguyenz đã chuyển code nhưng em dùng file đó thì khi em đánh hàm vào E8 thì nó lại báo lỗi. vì em khai báo vung là Set vung = Range (sheet1.[A12],sheet1.[A65536].End(xlUp)
Bạn bỏ dòng bạn vừa thêm vào:
Set vung = Range (sheet1.[A12],sheet1.[A65536].End(xlUp) as Range
Khi sử dụng bạn muốn áp dụng cho vùng nào thì bạn thay đổi tham chiếu ở hàm (chố màu đỏ)
=SoPhieu(DATA!$A$12:$A$17,"PT") thành SoPhieu(DATA!$A$12:$A$65000,"PT") chẳng hạn.
 
em up file lên anh chị em giúp em với, thanks, em đang học viết code từ cái đơn giản nhưng khó quá
Cái vụ này mà dùng Function thấy không ổn rồi.
Thử làm ô D2 "nhúc nhích" xem ô E8 có kết quả mong muốn không?
Muốn "mần" lại từ đầu thì xóa cột A.
 

File đính kèm

  • SoPhieu.rar
    11.3 KB · Đọc: 18
Cái vụ này mà dùng Function thấy không ổn rồi.
Thử làm ô D2 "nhúc nhích" xem ô E8 có kết quả mong muốn không?
Muốn "mần" lại từ đầu thì xóa cột A.

Em cảm ơn anh Ba Tê, anh sửa hộ em cái phần R được lấy từ cột A từ A12:A65536 sheet DATA chứ ko phải trên sheet IN PHIEU được không anh? em thêm vào R = Range(Sheet1.[A12], Sheet1.[A65536].End(xlUp).Row) em chạy debug thì nó báo vàng dòng này. em ko biết sai gì vậy anh?
 
Em cảm ơn anh Ba Tê, anh sửa hộ em cái phần R được lấy từ cột A từ A12:A65536 sheet DATA chứ ko phải trên sheet IN PHIEU được không anh? em thêm vào R = Range(Sheet1.[A12], Sheet1.[A65536].End(xlUp).Row) em chạy debug thì nó báo vàng dòng này. em ko biết sai gì vậy anh?
R = Sheets(1).[A65536].End(xlUp).Row
 
Web KT
Back
Top Bottom