Excel+VB, 怎样用0填补,使每组数据变成一样多呢?

来源:百度知道 编辑:UC知道 时间:2024/05/10 07:09:43
我想让每组都包含100个数据,不够的用0填。。 怎样才能自动批量在每组数据的头几行填上0呢?

比如:
第一组数据 第二组 第三组
2 5 2
3 6 3
6 2
3
想让它们变成:
第一组 第二组 第三组
0 5 0
2 6 0
3 2 2
6 3 3

一样多,不够的以0开头..
有没有什么办法???大家帮帮我吧

Sub yueliang_914()
Dim mROW, CEROW, i, j, k, m As Integer

k = Range("a" & [a65536].End(xlUp).Row).Rows

For i = 1 To k '循环所有行
m = 0
For j = (i - 1) * 10 + 2 To i * 10 + 2
If Cells(j, 1) = i Then m = m + 1
Next
CEROW = 10 - m '计算需要补0的行数
If CEROW Then
Range(Cells((i - 1) * 10 + 2, 1), Cells(CEROW + (i - 1) * 10 + 1, 2)).Select
Selection.Insert Shift:=xlDown
Selection.FormulaR1C1 = "0"
End If
Next i
End Sub

VB里没有试过,在Excel+VBA里可以用下面的方法实现你要的功能.
取当前表格的总行数,然后与每列的总行数相比较,不足的补0

Sub Macro1()
MAXROW = ActiveSheet.UsedRange.Rows.Count '获得表格总行数
MAXCOL = ActiveSheet.UsedRange.Columns.Count '表格总烈数
For I = 1 To MAXCOL '循环所有列
If Range(Chr(I + 64) & "65536").End(xlUp).Row < MAXROW Then '判断每列的行数是否小于总行数
CEROW = MAXROW - Range(Chr(I + 64) & "65536").End(xlUp).Row '计算需要补0的行数
F