|
- Private Sub CommandButton1_Click()
- Dim n&, s$, i&, j&, arr, brr, r&
- arr = [b11:c14] '源数据装入数组arr
- ReDim brr(1 To Application.Product(Application.Index(arr, , 1)), 1 To 2) '确定结果数组大小,一维下标为单元总数合计,这里我错了,应该是加不是乘,所以Product要改成Sum,
- '至于index是用来取数组的局部数据,这里取数组第1列数据,即单元总数
- For i = 1 To UBound(arr) '循环体,遍历源数据数组
- If arr(i, 1) > 0 Then '无数据时不执行
- n = arr(i, 1) '将单元总数赋值给变量n
- s = arr(i, 2) '将楼栋名称赋值给变量s
- For j = 1 To n '变量j从1循环递增至n,也即单元总数
- r = r + 1 '结果数组行号加1(通俗讲法)
- brr(r, 1) = s '结果数组第1列赋值单元名称
- brr(r, 2) = s & j '结果数组第2列赋值单元名称+单元号,通过j循环将单元号从1递增至n,即单元总数
- Next j 'j循环
- End If
- Next i
- [c16].Resize(r, 2) = brr '结果数组输出至以[C16]为首的单元格区域
- End Sub
复制代码 |
|