Giúp tôi code điền số thứ tự tự động (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

hoang0569

Thành viên thường trực
Tham gia
21/7/09
Bài viết
316
Được thích
8
Anh chị Giúp tôi code điền số thứ tự tự động, tôi gửi File kèm mong anh chị giúp, cảm ơn nhiều.
 

File đính kèm

Cảm ơn bạn, mình muốn thực hiện bằng code bạn ơi.
 
Upvote 0
Cảm ơn bạn, mình muốn thực hiện bằng code bạn ơi.

Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i, j, currentrow As Integer
    If Target.Column = 2 Then
        currentrow = Target.Row
        For i = 2 To currentrow
        If Cells(i, 2) <> Cells(i - 1, 2) Then
            For j = i - 1 To 1 Step -1
                If Cells(j, 1) <> "" Then
                    Cells(i, 1) = Cells(j, 1) + 1
                    GoTo 1
                End If
            Next
        End If
1:
    Next
    End If
    
End Sub
 
Upvote 0
Code không chạy bạn ơi, mình dùng office 2003.
 
Upvote 0
Bạn gởi file cho tôi đi, sao tôi không chạy được, cảm ơn bạn nhiều.
 
Upvote 0
Bạn sửa giúp mình sao cho khi nhập dữ liệu vào cột B thì cột A mới tự động đánh số từ 1 không?
 
Upvote 0
Cũng câu hỏi này, các bác có thể giúp em đánh thứ tự theo dạng 01; 02; 03; ....; 09; 10; ... để "mail merge" cho đẹp được không ạ?
 
Upvote 0
Nếu format thì lúc mail merge chẳng hạn nó lại hiển thị là 1; 2; 3 ... bác ạ
code này vậy
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i, j, lastrow, dem As Integer
dem = 1
    If Target.Column = 2 Then
        Cells(1, 1) = "'01"
        lastrow = Range("B" & Rows.Count).End(3).Row
        If lastrow > 1 Then Range("A2:A" & lastrow).Clear
        For i = 2 To lastrow
            If Cells(i, 2) <> Cells(i - 1, 2) Then
                dem = dem + 1
                Cells(i, 1) = "'" & Right("00" & dem, 2)
            End If
        Next
    End If
End Sub
 
Upvote 0
code này vậy
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i, j, lastrow, dem As Integer
dem = 1
    If Target.Column = 2 Then
        Cells(1, 1) = "'01"
        lastrow = Range("B" & Rows.Count).End(3).Row
        If lastrow > 1 Then Range("A2:A" & lastrow).Clear
        For i = 2 To lastrow
            If Cells(i, 2) <> Cells(i - 1, 2) Then
                dem = dem + 1
                Cells(i, 1) = "'" & Right("00" & dem, 2)
            End If
        Next
    End If
End Sub
Cảm ơn bác rất nhiều, em có bài toán này khó hơn, mong bác giúp em được không ạ, thanks nhiều }}}}}
 

File đính kèm

Upvote 0
Cảm ơn bác rất nhiều, em có bài toán này khó hơn, mong bác giúp em được không ạ, thanks nhiều }}}}}
Thì đây
Mã:
Sub run()
Dim i, dem As Integer
    For i = 7 To Range("C6000").End(3).Row
        If Cells(i, 2) = "HM" Then dem = 0
        If Cells(i, 3) <> "" And Cells(i, 2) <> "HM" Then
            dem = dem + 1
            Cells(i, 1) = "'" & Right("00" & dem, 2)
        End If
    Next
End Sub
 
Upvote 0
Thì đây
Mã:
Sub run()
Dim i, dem As Integer
    For i = 7 To Range("C6000").End(3).Row
        If Cells(i, 2) = "HM" Then dem = 0
        If Cells(i, 3) <> "" And Cells(i, 2) <> "HM" Then
            dem = dem + 1
            Cells(i, 1) = "'" & Right("00" & dem, 2)
        End If
    Next
End Sub
Híc, nó chạy được nhưng phải gán nút bác ạ, em muốn tự động có được không
 
Lần chỉnh sửa cuối:
Upvote 0
Em đã sửa tên thành Private Sub Worksheet_Change(ByVal Target As Range) để tự động chạy nhưng được khoảng vài dòng thì máy bị treo bác ạ
 
Upvote 0
Em đã sửa tên thành Private Sub Worksheet_Change(ByVal Target As Range) để tự động chạy nhưng được khoảng vài dòng thì máy bị treo bác ạ
Dữ liệu của bạn nhiều??? Có gì đâu mà treo dc nhỉ?
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i, dem As Integer
If Target.Column = 2 Or Target.Column = 3 Then
    Range("A7:A1000").ClearContents
    For i = 7 To Range("C6000").End(3).Row
        If Cells(i, 2) = "HM" Then dem = 0
        If Cells(i, 3) <> "" And Cells(i, 2) <> "HM" Then
            dem = dem + 1
            Cells(i, 1) = "'" & Right("00" & dem, 2)
        End If
    Next
End If
End Sub
 
Upvote 0
Web KT

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

Back
Top Bottom