Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
12
返回列表 发新帖
楼主: dong66094799

[已解决]数据行变列

[复制链接]
 楼主| 发表于 2015-5-26 10:45 | 显示全部楼层
Sub Macro1()
Dim arr, brr, i&, j%, k%, s&
arr = Sheet1.Range("a1").CurrentRegion
w = Array(6, 7, 8, 9, 10, 14)
ReDim brr(1 To 60000, 1 To UBound(arr, 2))
For i = 2 To UBound(arr)
    For j = 0 To UBound(w)
        If arr(i, w(j)) <> "" Then
            s = s + 1
            brr(s, w(j)) = arr(i, w(j))
            For k = 1 To 5
                brr(s, k) = IIf(k = 3, "'" & arr(i, k), arr(i, k))
            Next
            For k = 11 To 13
                brr(s, k) = arr(i, k)
            Next
        End If
    Next
Next
Sheet2.Activate
ActiveSheet.UsedRange.Clear
Sheet1.Rows(1).Copy [a1]
With Range("a2").Resize(s, UBound(brr, 2))
    .Value = brr
    .Borders.LineStyle = xlContinuous
End With
End Sub

第3列已修改为文本格式,第4列也要修改为文本格式。谢谢帮忙
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
回复

使用道具 举报

发表于 2015-5-26 10:57 | 显示全部楼层
回复

使用道具 举报

发表于 2015-5-26 13:13 | 显示全部楼层
本帖最后由 dsmch 于 2015-5-26 13:15 编辑
dong66094799 发表于 2015-5-26 10:45
Sub Macro1()
Dim arr, brr, i&, j%, k%, s&
arr = Sheet1.Range("a1").CurrentRegio

brr(s, k) = IIf(k = 3 or k=4, "'" & arr(i, k), arr(i, k))
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-7 08:12 , Processed in 0.389802 second(s), 8 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表