Cho em hỏi nhập số vào 1 ô thì tự động đánh số thứ tự từ 1 đến N

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

Excel2203

Thành viên mới
Tham gia
18/5/23
Bài viết
5
Được thích
2
Em có vấn đề cần bổ sung thêm vào file excel của em ạ, mong các anh, chị, em trên diễn đàn giúp đỡ ạ. Em có đính kèm file, anh, chị, em xem file giúp đỡ em với nhé, em cảm ơn rất nhiều ạ.
 

File đính kèm

  • NHAP SO.xlsm
    13.4 KB · Đọc: 10
Em có vấn đề cần bổ sung thêm vào file excel của em ạ, mong các anh, chị, em trên diễn đàn giúp đỡ ạ. Em có đính kèm file, anh, chị, em xem file giúp đỡ em với nhé, em cảm ơn rất nhiều ạ.
Tham khảo code cùi bắp sau và Copy và paste và module Sheet1
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("M4")) Is Nothing Then
    If Not IsNumeric(Target) Then
        Exit Sub
    Else
        Dim i&, N&
        Application.EnableEvents = False
        N = Target
       Target.Offset(1, 0).Resize(1000000, 1).ClearContents
        For i = 1 To N
            Target.Offset(i, 0) = i
        Next i
        Application.EnableEvents = True
    End If
End If
End Sub
 
Upvote 0
n = Target.Value
Set rg = Target.Resize(n, 1)
rg.Value = Evaluate("row(" & rg.Address & ") + 1 -" & rg.Cells(1).Row)
rg.Offset(n, 0).Resize(100000).Clearcontents
 
Upvote 0
Thêm 1 cách nhờ bộ thu macro (có chỉnh sửa)
PHP:
Sub DanhSTT()
' DanhSTT Macro; Keyboard Shortcut: Ctrl+Shift+D    '
 Dim SoDong As Integer
 
 SoDong = [M4].Value
 [M5].Resize(SoDong + 9).Value = ""
 If SoDong > 3 Then
    [M5].Value = 1:                                   [M6].Value = 2
    Range("M5:M6").Select
    Selection.AutoFill Destination:=[M5].Resize(SoDong), Type:=xlFillDefault
 End If
 MsgBox "Xong Rôi!", , "GPE.COM Xin Chào!"
End Sub
 
Upvote 0
Thêm 1 cách nhờ bộ thu macro (có chỉnh sửa)
PHP:
Sub DanhSTT()
' DanhSTT Macro; Keyboard Shortcut: Ctrl+Shift+D    '
 Dim SoDong As Integer
 
 SoDong = [M4].Value
 [M5].Resize(SoDong + 9).Value = ""
 If SoDong > 3 Then
    [M5].Value = 1:                                   [M6].Value = 2
    Range("M5:M6").Select
    Selection.AutoFill Destination:=[M5].Resize(SoDong), Type:=xlFillDefault
 End If
 MsgBox "Xong Rôi!", , "GPE.COM Xin Chào!"
End Sub
Cảm ơn anh đã giúp đỡ, cái này cũng ổn nhưng có điều nó chưa xoá cột từ M5 trở xuống dưới ạ, Thêm 1 dòng code xoá dữ liệu cũ trước khi đánh số thứ tự a.
 
Lần chỉnh sửa cuối:
Upvote 0
Cảm ơn anh đã giúp đỡ, cái này cũng ổn nhưng có điều nó chưa xoá cột từ M5 trở xuống dưới ạ, Thêm 1 dòng code xoá dữ liệu cũ trước khi đánh số thứ tự a.
Dòng lệnh xóa dữ liệu cũ đã có; bạn tìm & chỉnh sửa nó lại xíu là được.
Ví dụ: [M5].CurrentRegion.Offset(1).Clear
 
Upvote 0
Web KT
Back
Top Bottom