Đánh số thứ tự theo điều kiện

Liên hệ QC

buithanhlong

Thành viên hoạt động
Tham gia
8/6/10
Bài viết
176
Được thích
141
Nhờ các bác giúp em code đánh số thứ tự cho cột thu -chi, khi phát sinh số tiền thu hoặc chi tương ứng, em gửi kèm file. Rất mong được giúp đỡ. Trân trọng cám ơn
 

File đính kèm

Nhờ các bác giúp em code đánh số thứ tự cho cột thu -chi, khi phát sinh số tiền thu hoặc chi tương ứng, em gửi kèm file. Rất mong được giúp đỡ. Trân trọng cám ơn
Bạn thử nhập công thức này cho ô A7 rồi copy xuống thử xem sao:
PHP:
=IF(E7<>"";MAX($A$6:A6)+1;"")
Vận dụng công thức này sang cột kế bên.
 
Cám ơn Bác nhiều nhiều, em làm được rồi. Chúc Bác cùng gia đình luôn mạnh khỏe, hạnh phúc và thành đạt. Trân trọng
 
Lần chỉnh sửa cuối:
Cám ơn Bác nhiều nhiều, nhưng em đã nhập thử công thức, máy báo lỗi ở phần if(E7<>"", có phải công thức này là khi e7>0 phải không Bác. Mong hồi âm của Bác. Trân trọng cám ơn

Không phải >0 đâu bạn, bạn chú ý chỗ ; thử đổi thành , xem.
 
cÒN VẤN ĐỀ CỦA MÌNH THÌ NHƯ THẾ NÀY: MÌNH MUỐN ĐÁNH SỐ THỨ TỰ CHO CÁC SẢN PHẨM VÀ MÃ GIỐNG NHAU, VẬY MÌNH PHẢI LÀM THẾ NÀO
 

File đính kèm

Nhờ các bác giúp em code đánh số thứ tự cho cột thu -chi, khi phát sinh số tiền thu hoặc chi tương ứng, em gửi kèm file. Rất mong được giúp đỡ. Trân trọng cám ơn

Thử 1 số hàm này nhé:

Hàm 1:
- cột A, tại A7: =IF(E7<1,"",COUNTA($E$7:E7))
- Cột B, tại B7: =IF(F7<1,"",COUNTA($F$7:F7))

Hàm 2:
- cột A, tại A7: =IF(E7<>"",COUNTA($E$7:E7),"")
- Cột B, tại B7: =IF(F7<>"",COUNTA($F$7:F7),"")

Hàm 3:
- cột A, tại A7: =IF(E7="","",MAX($A$6:A6)+1)
- Cột B, tại B7: =IF(F7="","",MAX($B$6:B6)+1)
 
nếu không dùng lệnh trên excel mà dùng vba thì làm sao ? !$@!!
 
Nhờ các bác giúp em đánh số biên lai theo thời gian thu tiền. Em gửi kèm file. Mong các bác giúp đỡ. Em xin cám ơn.
 

File đính kèm

Em gửi lại file để các bác rõ hơn. Em muốn số biên lai được đánh theo ngày thu chứ không phải theo thứ tự.
 
Nhờ các bác giúp em đánh số biên lai theo thời gian thu tiền. Em gửi kèm file. Mong các bác giúp đỡ. Em xin cám ơn.

- Nếu Excel 2003 cột số biên lai, tại B8 bạn dùng hàm.

=COUNTIF($A$8:A8,A8)

- Nếu Excel 2010 cột số biên lai, tại B8 bạn dùng hàm.

=COUNTIFS($A$8:A8,A8)

Rồi Fill xuống, nếu không được thì thay dấu phẩy (,) thành dấu chấm phẩy (;)
 
Lần chỉnh sửa cuối:
nếu không dùng lệnh trên excel mà dùng vba thì làm sao ? !$@!!

Vì iêu cầu
Đưa File nên đây thì mới giúp bạn được chứ.
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
 
Anh em giúp mình code VBA đánh số thứ tự từ 1 đến số max 300 nhe. Thanks a lot
 

File đính kèm

PHP:
Option Explicit
Sub QuynhSoTTDen300()
 Dim J&
 
 For J = 4 To 3 + 300
    Cells(J, "A").Value = J - 3
 Next J
End Sub
 
Nếu dùng công thức này kéo xuống thì nó chỉ có 2 số lặp đi lặp lại là 1, 2 chứ không như em mong muốn.
 
Web KT

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

Back
Top Bottom