Mong giúp em code một sub thực hiện đánh số thứ tự tự động

Liên hệ QC

daungocduc

Thành viên mới
Tham gia
4/2/10
Bài viết
3
Được thích
0
Kính gửi các anh, chị trong diễn đàn
Do nhu cầu công việc, em cần viết một sub đánh số thứ tự mà khi thực thi nó sẽ cho mình nhập một số n, sau đó máy sẽ tự động đánh số thứ tự từ 1 đến n, theo hàng ngang 5 số, tiếp đó cách một dòng trống lại đánh tiếp 5 số cho đến khi đến số n
Chi tiết như hình mô tả đính kèm ạ.
Mong mọi người giúp em với ạ, em đang mới bắt đầu tập làm quen VBA mà đợt này nhu cầu công việc cần xử lý tình huống này.
Em xin cảm ơn ạ!
 

File đính kèm

  • Screenshot_1.png
    Screenshot_1.png
    14.3 KB · Đọc: 23
Kính gửi các anh, chị trong diễn đàn
Do nhu cầu công việc, em cần viết một sub đánh số thứ tự mà khi thực thi nó sẽ cho mình nhập một số n, sau đó máy sẽ tự động đánh số thứ tự từ 1 đến n, theo hàng ngang 5 số, tiếp đó cách một dòng trống lại đánh tiếp 5 số cho đến khi đến số n
Chi tiết như hình mô tả đính kèm ạ.
Mong mọi người giúp em với ạ, em đang mới bắt đầu tập làm quen VBA mà đợt này nhu cầu công việc cần xử lý tình huống này.
Em xin cảm ơn ạ!
Số thứ tự luôn luôn bắt đầu từ A1?

.
 
Upvote 0
Kính gửi các anh, chị trong diễn đàn
Do nhu cầu công việc, em cần viết một sub đánh số thứ tự mà khi thực thi nó sẽ cho mình nhập một số n, sau đó máy sẽ tự động đánh số thứ tự từ 1 đến n, theo hàng ngang 5 số, tiếp đó cách một dòng trống lại đánh tiếp 5 số cho đến khi đến số n
Chi tiết như hình mô tả đính kèm ạ.
Mong mọi người giúp em với ạ, em đang mới bắt đầu tập làm quen VBA mà đợt này nhu cầu công việc cần xử lý tình huống này.
Em xin cảm ơn ạ!
Nếu có file mô phỏng thì dễ hình dung hơn và có chỗ để thử code.
 
Upvote 0
Dạ bắt đầu từ activecell lúc thực thi sub ạ
Thử code này:
PHP:
Public Sub DanhSoThuTu()
Dim arrResult As Variant
Dim num As Long, i As Long, j As Long, r As Long
r = 1
num = Application.InputBox(prompt:="Nhap so", Type:=1)
ReDim arrResult(1 To num / 2, 1 To 5)

For i = 1 To num
    j = j + 1
    If j = 6 Then
        j = 1
        r = r + 2
    End If
    arrResult(r, j) = i
Next
    ActiveCell.Resize(r, 5) = arrResult

End Sub
 
Upvote 0
Thử code này:
PHP:
Public Sub DanhSoThuTu()
Dim arrResult As Variant
Dim num As Long, i As Long, j As Long, r As Long
r = 1
num = Application.InputBox(prompt:="Nhap so", Type:=1)
ReDim arrResult(1 To num / 2, 1 To 5)

For i = 1 To num
    j = j + 1
    If j = 6 Then
        j = 1
        r = r + 2
    End If
    arrResult(r, j) = i
Next
    ActiveCell.Resize(r, 5) = arrResult

End Sub
Đúng rồi bác ạ. Em cảm ơn bác nhiều ạ!
 
Upvote 0
Đúng rồi bác ạ. Em cảm ơn bác nhiều ạ!
Thử code này:
PHP:
Public Sub DanhSoThuTu()
Dim arrResult As Variant
Dim num As Long, i As Long, j As Long, r As Long
r = 1
num = Application.InputBox(prompt:="Nhap so", Type:=1)
ReDim arrResult(1 To num / 2, 1 To 5)

For i = 1 To num
    j = j + 1
    If j = 6 Then
        j = 1
        r = r + 2
    End If
    arrResult(r, j) = i
Next
    ActiveCell.Resize(r, 5) = arrResult

End Sub
Code hay. Bữa nay tôi mới biết mảng chấp nhận số dòng không phải là số nguyên.
 
Upvote 0
Sub DSTT(ByVal N As Long, ByRef rg As Range)
' code dùng công thức tính chỉ số dòng và cột
Const SOCOT = 5
Dim a()
ReDim a(1 To ((N - 1) \ SOCOT) * 2 + 1, 1 To SOCOT)
For i = 1 To N
a(((i - 1) \ SOCOT) * 2 + 1, ((i - 1) Mod SOCOT) + 1) = i
Next i
rg.Resize(UBound(a), SOCOT) = a
End Sub
 
Upvote 0
Web KT

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

Back
Top Bottom