Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2971|回复: 6

[已解决]如何横竖转换

[复制链接]
发表于 2015-7-28 17:09 | 显示全部楼层 |阅读模式
直接用转置无法达到目的,B列只有6个参数,是不变的,每6个参数为一组。
现在要把那6个参数变成横表头,然后再以ExternalGeranCellId为主,一一对应把原来在右边的参数填写到变成横表头的下面。
详细请看附件。谢谢
最佳答案
2015-7-29 09:06
Sub test2()
    Dim A, B, i, j, n, t

    A = Range("a1:c" & Range("a65536").End(xlUp).Row)
    n = 6
    ReDim B(1 To UBound(A) / n, 1 To n + 1)

    For i = 1 To UBound(B)
        B(i, 1) = A((i - 1) * n + 1, 1)
        For j = 2 To UBound(B, 2)
            t = (i - 1) * n + j - 1
            B(i, j) = A(t, 3)
        Next j
    Next i

    [F2:L65536] = ""
    [F2].Resize(i - 1, j - 1) = B
End Sub
2.rar (90.94 KB, 下载次数: 8)

工作簿21.rar

8.7 KB, 下载次数: 9

发表于 2015-7-28 17:35 | 显示全部楼层
Sub test()
    Dim r, i, s
    [F2:L65536] = ""
    r = Range("c65536").End(xlUp).Row
    s = 1

    For i = 1 To r Step 6
        s = s + 1
        Cells(s, "f") = [f1]
        Cells(i, "c").Resize(6).Copy
        Cells(s, "g").PasteSpecial Transpose:=True
    Next i
End Sub

工作簿21b.rar (16.98 KB, 下载次数: 4)
回复

使用道具 举报

 楼主| 发表于 2015-7-28 18:12 | 显示全部楼层
爱疯 发表于 2015-7-28 17:35
Sub test()
    Dim r, i, s
    [F2:L65536] = ""

感谢老师指导!!!!
三两行指令就完成。。。太强大了。。。

刚才还漏了一个要求,烦请老师继续帮忙。。。
就是A列名字还要放到F列去,F1的表头暂且就叫“名字”,但是A列的名字会出现不同。。。现在改成打横之后,等于原来竖行总数/6,A列的名字如果单纯的黏贴会出现和后面的数据对不上的情况。。。
回复

使用道具 举报

发表于 2015-7-28 18:28 | 显示全部楼层
我不清楚你的意思。

要不你把2楼附件修改下,也给出部分的结果
回复

使用道具 举报

 楼主| 发表于 2015-7-28 22:23 | 显示全部楼层
爱疯 发表于 2015-7-28 18:28
我不清楚你的意思。

要不你把2楼附件修改下,也给出部分的结果

老师你好,我重新上传了一个附件。。。

把A列对应的放到F列

工作簿1.rar

99.61 KB, 下载次数: 1

回复

使用道具 举报

发表于 2015-7-29 09:06 | 显示全部楼层    本楼为最佳答案   
Sub test2()
    Dim A, B, i, j, n, t

    A = Range("a1:c" & Range("a65536").End(xlUp).Row)
    n = 6
    ReDim B(1 To UBound(A) / n, 1 To n + 1)

    For i = 1 To UBound(B)
        B(i, 1) = A((i - 1) * n + 1, 1)
        For j = 2 To UBound(B, 2)
            t = (i - 1) * n + j - 1
            B(i, j) = A(t, 3)
        Next j
    Next i

    [F2:L65536] = ""
    [F2].Resize(i - 1, j - 1) = B
End Sub
2.rar (90.94 KB, 下载次数: 8)
回复

使用道具 举报

 楼主| 发表于 2015-7-29 10:04 | 显示全部楼层
爱疯 发表于 2015-7-29 09:06
Sub test2()
    Dim A, B, i, j, n, t

谢谢老师!!膜拜~~
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-27 05:56 , Processed in 0.360417 second(s), 12 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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