Đưa hàm vào cell

Liên hệ QC

khunglongcodon

Thành viên thường trực
Tham gia
24/11/06
Bài viết
222
Được thích
100
Nghề nghiệp
Kế toán
Em có hàm IF đánh số thứ tự dưới đây:
=IF(B22="",0,A21+1)
em muốn mỗi lần chép dữ liệu mới, công thức sẽ điền vào ô A22 như vậy, ô 23 thì là công thức =IF(B23="",0,A22+1)
Em thử code sau:
Mã:
  Range(Cells(x, 1)).Formula = "=IF(" & Cells(x, 2) & "="",""," & Cells(x - 1, 1) & "+1"
với x tại đây là 22
nhưng nó không hiểu
anh chị có cách nào, hoặc file nào có demo cho em xin với ạ
Cảm ơn các anh chị nhiều.
 
Em có hàm IF đánh số thứ tự dưới đây:
=IF(B22="",0,A21+1)
em muốn mỗi lần chép dữ liệu mới, công thức sẽ điền vào ô A22 như vậy, ô 23 thì là công thức =IF(B23="",0,A22+1)
Em thử code sau:
Mã:
  Range(Cells(x, 1)).Formula = "=IF(" & Cells(x, 2) & "="",""," & Cells(x - 1, 1) & "+1"
với x tại đây là 22
nhưng nó không hiểu
anh chị có cách nào, hoặc file nào có demo cho em xin với ạ
Cảm ơn các anh chị nhiều.
Bạn cứ thử Record Macro xem nó ra cái gì nào?! Từ đó, chế biến lại một xíu nữa là xài được thôi.

P/S: Nhìn lại, thấy cách đánh số thứ tự của bạn hơi kỳ cục, nếu danh sách bị trống giữa chừng thì STT cũng bị reset lại về 0, như vậy STT sẽ có dạng 1, 2, 3,..., 0, 1, 2,..., có vẻ không tự nhiên lắm nhỉ?
Mình giả định tình huống sau: Nhập dữ liệu vào cột B (từ hàng 2 trở đi), nếu ở cột B <>"" thì STT ở cột A tăng lên 1 đơn vị. Khi đó code như sau:
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Cll As Range
    If Target.Column <> 2 Or Target.Row = 1 Then Exit Sub
    For Each Cll In Target.Cells
        Cells(Cll.Row, 1) = IIf(Cll = "", "", WorksheetFunction.Max(Range([A1], Cells(Cll.Row - 1, 1))) + 1)
    Next
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT

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

Back
Top Bottom