Giúp Code Đánh Số Với Số Dòng Định sẵn

Liên hệ QC

phuoclocvl

Thành viên thường trực
Tham gia
28/3/12
Bài viết
220
Được thích
32
Dạ Xin Chào Anh Chị GPE,

Anh Chị dành chút thời gian giúp em code đánh dấu giúp em với.
thí dụ em có 1 cột A có 10 dòng có dữ liệu nhưng em muốn nó đánh số 1 ở cột tới dòng 5 và dòng 6 tới 10 là số 2 và nếu còn dữ liệu nữa thì 50 dòng tiếp theo sẽ tăng lên 1.

AB
11
21
31
41
51
62
72
82
92
102
113
123
133

em xin cảm ơn ạ,
 
Chắc chổ "," chuyển thành ";"
Cảm ơn Bác nhưng có lẽ em hỏi sai vấn đề rồi hic
ý em là như vầy :

Sub Test()
Dim eR As Long
Dim i As Long
Dim temp As String
With Sheet1
eR = .Range("A10000").End(xlUp).Row
' Nếu mà dòng cuối lớn hơn 5 thi chạy tới 5 , rồi thực thi 1 lệnh gì đó, sau đó tiếp tục chay từ dòng 6 tới 10 và tiếp tục như vậy cho tới hết dữ liệu
For i = 2 To eR
If .Cells(i, 1) <> "" Then
temp = temp & .Cells(i, 1) & "','"
End If
Next i
.Range("B1") = "('" & Left(temp, Len(temp) - 2) & ")"
End With
End Sub

Bác xem file đính kèm giúp em
 

File đính kèm

Upvote 0
Bó tay, không hiểu gì luôn, code 1 đường, yêu cầu 1 nẽo.
 
Upvote 0
Em chỉ biết viết cho nó nối lại hết thôi, không biết làm sao cho nó ngắt ra chạy mỗi lần 5 dòng.
Xin giúp giùm ạ. Xin cảm ơn
Bạn thử cái này.
Mã:
Sub Test()
    Dim eR As Integer
    Dim i As Long, a As Long, b As Long
    Dim temp As String
    With Sheet1
        eR = .Range("A10000").End(xlUp).Row
        For i = 2 To eR
            If .Cells(i, 1) <> "" Then
                a = Int(b / 5) + 1
                b = b + 1
                .Cells(i, 2).Value = a
            End If
        Next i
     End With
End Sub
 
Upvote 0
Góp vui thêm một cách.
Mã:
Sub Test()
    Dim eR As Integer
    With Sheet1
        eR = .Range("A10000").End(xlUp).Row
        .Range("B2:B" & eR).FormulaArray = "=QUOTIENT(A2:A" & eR & "+4, 5)"
        .Range("B2:B" & eR).Value = .Range("B2:B" & eR).Value
     End With
End Sub
hoặc
Mã:
Sub Test()
    Dim eR As Integer
    With Sheet1
        eR = .Range("A10000").End(xlUp).Row
        .Range("B2:B" & eR).FormulaR1C1 = "=QUOTIENT(RC[-1]+4, 5)"
        .Range("B2:B" & eR).Value = .Range("B2:B" & eR).Value
     End With
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Góp vui thêm một cách.
Mã:
Sub Test()
    Dim eR As Integer
    With Sheet1
        eR = .Range("A10000").End(xlUp).Row
        .Range("B2:B" & eR).FormulaArray = "=QUOTIENT(A2:A" & eR & "+4, 5)"
        .Range("B2:B" & eR).Value = .Range("B2:B" & eR).Value
     End With
End Sub
hoặc
Mã:
Sub Test()
    Dim eR As Integer
    With Sheet1
        eR = .Range("A10000").End(xlUp).Row
        .Range("B2:B" & eR).FormulaR1C1 = "=QUOTIENT(RC[-1]+4, 5)"
        .Range("B2:B" & eR).Value = .Range("B2:B" & eR).Value
     End With
End Sub
Dạ cảm ơn ạ,
Em đang định tìm cách nào để nối chuỗi lại với nhau nhưng không phải nối hết 1 lần.
Giả dụ em có dữ liệu cột A là 12 dòng .
Lần đầu em sẽ cho nó nối chuỗi ('1','2','3','4','5')
Lần 2 ('6','7','8','9','10')
Lần 3 ('11','12')
Sau mỗi lần nối em cho nó chạy lệnh gì đó, em tự làm tiếp. Anh có giải thuật gì cho việc này không giúp em với.
Do êm không biết cách hỏi hic hic
Em xin cảm tạ ạ,
 
Upvote 0
Web KT

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

Back
Top Bottom