|
- Sub suaa()
- '取A列最后数据所在行
- i = Range("A65536").End(xlUp).Row
- m为B列最后数据所在单元格引用
- Set m = Range("B65536").End(xlUp)
- '重新定义动态数组,第一维为A列与B列数据数量之差
- '这里有BUG,万一B列数据比A列多
- ReDim Arr(1 To (i - m.Row), 1 To 1)
- '取M单格的值的左4位
- k = Left(m.Value, 4)
- '取M单元格值的第5位开始直接结束
- a = Mid(m.Value, 5, Len(m.Value) - 5)
- '长度
- L = Len(a)
- 'a自加1,
- a = a + 1
- For j = 1 To i - m.Row
- n = n + 1
- '设置有可能是3位一组的意思了。
- If n > 3 Then
- n = 1
- a = a + 1
- End If
- '这里是在前面补0,
- If Len(a) < L Then
- For X = 1 To L - Len(a)
- a = "0" & a
- Next
- End If
- '实际上就是 m & n 的
- Arr(j, 1) = k & a & n
- Next
- 在B列最后单元格后下一行写入结果
- m.Offset(1, 0).Resize(j - 1, 1) = Arr
- End Sub
复制代码 |
|