|
本帖最后由 vba新手2 于 2016-9-4 21:31 编辑
列转行,不知道这样格式能不能实现,求老师帮忙
vba可以做到,但有些麻烦,
不知这样做有何意义。
转换成第二种格式代码如下: - Sub test_XWZ()
- Dim arr, brr(), i%, j%, n%, m%
- arr = Range("p5").CurrentRegion
- ReDim brr(1 To 4, 1 To 2 * (UBound(arr) - 4))
- For i = 1 To 3
- m = 1
- n = i - 2 * (i = 3)
- For j = 5 To UBound(arr)
- brr(i, m) = arr(j, n)
- brr(i, m + 1) = arr(j, n)
- m = m + 2
- Next
- Next
- m = 1
- For j = 5 To UBound(arr)
- brr(4, m) = arr(j, 3)
- brr(4, m + 1) = arr(j, 4)
- m = m + 2
- Next
- [w23:zz26] = ""
- [w23].Resize(4, m - 1) = brr
- Application.DisplayAlerts = False
- For i = 1 To 3
- For j = 1 To m - 1 Step 2
- Range(Cells(22 + i, 22 + j), Cells(22 + i, 23 + j)).Merge
- Next
- Next
- With [w23].CurrentRegion
- .HorizontalAlignment = xlCenter
- .Font.Size = 9
- .Columns.AutoFit
- .Borders.LineStyle = 1
- End With
- Application.DisplayAlerts = True
- End Sub
复制代码
Boox1.rar
(23.6 KB, 下载次数: 11)
|
|