befaint
|||||||||||||
- Tham gia
- 6/1/11
- Bài viết
- 14,538
- Được thích
- 19,745
Hi all
Mình muốn đánh số thứ tự như sau: ABC1902017 > ABC1912017 -> ABC1922017 thì làm như thế nào?mong các bạn giúp đỡ.
Mã:
="ABC"&ROW(Z190)&"2017"
Hi all
Mình muốn đánh số thứ tự như sau: ABC1902017 > ABC1912017 -> ABC1922017 thì làm như thế nào?mong các bạn giúp đỡ.
="ABC"&ROW(Z190)&"2017"
Sub SoTT()
Dim Cls As Range: Dim SoCM As Double, W As Long
Dim HT As String, SoHS As String
For Each Cls In Sheet1.Range(Sheet1.[a2], Sheet1.[a2].End(xlDown))
If Cls.Value <> HT And Cls.Offset(, 1).Value <> SoCM Then
HT = Cls.Value: SoCM = Cls.Offset(, 1).Value
W = W + 1
Else
End If
Cls.Offset(, 4).Value = "GPE" & Right("00" & CStr(W), 3)
Next Cls
End Sub
Cho mình hỏi chút nữa là. Nếu trường hợp muốn đánh số thứ tự từ 1 số của hàng đầu tiên (VD đánh số thứ tự từ số 10) thì phải thêm gì nữa nhỉ.Bạn mở trang tính có số liệu lên & cho macro này chạy là được kết quả nào đó;
Sau đó bạn tự sửa nha:
PHP:Sub SoTT() Dim Cls As Range: Dim SoCM As Double, W As Long Dim HT As String, SoHS As String For Each Cls In Sheet1.Range(Sheet1.[a2], Sheet1.[a2].End(xlDown)) If Cls.Value <> HT And Cls.Offset(, 1).Value <> SoCM Then HT = Cls.Value: SoCM = Cls.Offset(, 1).Value W = W + 1 Else End If Cls.Offset(, 4).Value = "GPE" & Right("00" & CStr(W), 3) Next Cls End Sub
Em có trường hợp này ace giúp em với. Em muốn điền vào cột SỐ HÓA ĐƠN theo cùng 1 salon là cùng 1 số hóa đơn. Nhưng salon tiếp theo tự động tăng số (+1) so với số hóa đơn ban đầu ạ
=IF(AND(N1<>N2,R1=R2),1,MAX($M$1:M1)+1)
Bạn cho mình hỏi macro này sử dụng như thế nào ah... cám ơn bạnVì iêu cầu
nhưng chưa thấy, vậy mình thực hiện cho cả 2 file có ở trên:
Đây là macro tăng số thứ tự ứng với file bài #1:
PHP:Option Explicit Const SoDong% = 3210 Private Sub Worksheet_Change(ByVal Target As Range) Dim Rng As Range, Cls As Range Dim Max_ As Double If Not Intersect(Target, Range("E7:E" & SoDong)) Is Nothing Then Set Rng = Range("A7:A" & Target.Row - 1) For Each Cls In Rng If Cls.Value > Max_ Then Max_ = Cls.Value Next Cls Cells(Target.Row, "A").Value = 1 + Max_ ElseIf Not Intersect(Target, Range("F7:F" & SoDong)) Is Nothing Then Set Rng = Range("B7:B" & Target.Row - 1) For Each Cls In Rng If Cls.Value > Max_ Then Max_ = Cls.Value Next Cls Cells(Target.Row, "B").Value = 1 + Max_ End If End Sub
Còn đây là macro tăng số đếm sản fẩm cùng mã (#5)
PHP:Option Explicit Const SoDong% = 3210 Private Sub Worksheet_Change(ByVal Target As Range) Dim Rng As Range, sRng As Range Dim MyAdd$, SF$, Max_% If Not Intersect(Target, Range("B2:B" & SoDong)) Is Nothing Then Set Rng = Range("B1:B" & Target.Row - 1) Set sRng = Rng.Find(Target.Value, , xlFormulas, xlWhole) If sRng Is Nothing Then Target.Offset(, 1).Value = 1 Else MyAdd = sRng.Address SF = sRng.Offset(, -1).Value Do If sRng.Offset(, -1).Value = SF Then Max_ = sRng.Offset(, 1).Value Set sRng = Rng.FindNext(sRng) Loop While Not sRng Is Nothing And sRng.Address <> MyAdd Target.Offset(, 1).Value = 1 + Max_ End If End If End Sub
Vì iêu cầu
nhưng chưa thấy, vậy mình thực hiện cho cả 2 file có ở trên:
Đây là macro tăng số thứ tự ứng với file bài #1:
PHP:Option Explicit Const SoDong% = 3210 Private Sub Worksheet_Change(ByVal Target As Range) Dim Rng As Range, Cls As Range Dim Max_ As Double If Not Intersect(Target, Range("E7:E" & SoDong)) Is Nothing Then Set Rng = Range("A7:A" & Target.Row - 1) For Each Cls In Rng If Cls.Value > Max_ Then Max_ = Cls.Value Next Cls Cells(Target.Row, "A").Value = 1 + Max_ ElseIf Not Intersect(Target, Range("F7:F" & SoDong)) Is Nothing Then Set Rng = Range("B7:B" & Target.Row - 1) For Each Cls In Rng If Cls.Value > Max_ Then Max_ = Cls.Value Next Cls Cells(Target.Row, "B").Value = 1 + Max_ End If End Sub
Còn đây là macro tăng số đếm sản fẩm cùng mã (#5)
PHP:Option Explicit Const SoDong% = 3210 Private Sub Worksheet_Change(ByVal Target As Range) Dim Rng As Range, sRng As Range Dim MyAdd$, SF$, Max_% If Not Intersect(Target, Range("B2:B" & SoDong)) Is Nothing Then Set Rng = Range("B1:B" & Target.Row - 1) Set sRng = Rng.Find(Target.Value, , xlFormulas, xlWhole) If sRng Is Nothing Then Target.Offset(, 1).Value = 1 Else MyAdd = sRng.Address SF = sRng.Offset(, -1).Value Do If sRng.Offset(, -1).Value = SF Then Max_ = sRng.Offset(, 1).Value Set sRng = Rng.FindNext(sRng) Loop While Not sRng Is Nothing And sRng.Address <> MyAdd Target.Offset(, 1).Value = 1 + Max_ End If End If End Sub
Dear A/c trên diễn đàn,
Em đang có một vướng mắt trong việc đánh số tứ tự tên mã có điều kiện theo vùng.
A/c trên diễn đàn có công thức nào chỉ giúp em với,
Các A/c xem file đính kèm cột A "Tên mã"
Em cảm ơn,
B8=IF(A8="","",IF(A7<>A8,A8,COUNTIF($A$8:A8,A8)-1))
1 cách(không phải là hàm)Dear A/c trên diễn đàn,
Em đang có một vướng mắt trong việc đánh số tứ tự tên mã có điều kiện theo vùng.
A/c trên diễn đàn có công thức nào chỉ giúp em với,
Các A/c xem file đính kèm cột A "Tên mã"
Em cảm ơn,
Sub STT()
Dim i&, LR&
LR = Cells(Rows.Count, 2).End(3).Row
For i = 8 To LR
If Not IsNumeric(Cells(i, 2)) Then
Range("A" & i) = Range("B" & i)
End If
Next
With Range("A9:A" & Range("B" & Rows.Count).End(3).Row)
.SpecialCells(4).FormulaR1C1 = "=R[-1]C"
.Value = .Value
End With
End Sub
1 cách(không phải là hàm)
PHP:Sub STT() Dim i&, LR& LR = Cells(Rows.Count, 2).End(3).Row For i = 8 To LR If Not IsNumeric(Cells(i, 2)) Then Range("A" & i) = Range("B" & i) End If Next With Range("A9:A" & Range("B" & Rows.Count).End(3).Row) .SpecialCells(4).FormulaR1C1 = "=R[-1]C" .Value = .Value End With End Sub
Thử:chào các bạn, mình có 1 file cũng cần đánh số thứ tự theo group, tuy nhiên bảng đã có sẵn stt của các mặt hàng rồi, bgio mình nhập thêm số liệu thì đánh stt tiếp theo, tức là: cột G phát sinh mã hàng mới, thì đánh tiếp stt của mã đó ở cột H, stt tiếp theo của stt lớn nhất của mã đó đã có sẵn.
mình gửi kèm file mn xem giúp mình nhé
H226=TEXT(IFERROR(AGGREGATE(14,6,--$H$1:H225/($G$1:G225=$G226),1),)+1,"0000")
Dạ, đa tạ bác quá, quá siêu bác ah, em cảm ơn nhiều!Thử:
Enter, fill xuống.Mã:H226=TEXT(IFERROR(AGGREGATE(14,6,--$H$1:H225/($G$1:G225=$G226),1),)+1,"0000")
Thân
Excel làm gì có hàm nào tên là "j".Mình cần đánh số thứ tự không liên tục nhưng ở những ô trống thì có công thứ trong đó. Mình phải dùng hàm j. Mong các bạn chỉ dùm
Ý mình là mình phải dùng hàm gì?Excel làm gì có hàm nào tên là "j".