Excel精英培训网

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

[已解决]单元格处理

[复制链接]
发表于 2016-8-8 13:44 | 显示全部楼层 |阅读模式
请教各位,具体可以看附件,如何写代码,谢谢!




最佳答案
2016-8-8 18:09

试试吧。
Sub test()
    Dim arr, brr, ar, s%, i%, j%, x%
    arr = Sheet7.Range("a1:a126")
    ReDim brr(1 To UBound(arr), 1 To 2)
    For i = 1 To UBound(arr)
        If arr(i, 1) <> "" Then
           ar = Split(arr(i, 1), ":")
           s = s + 1
           brr(s, 1) = ar(0): brr(s, 2) = ar(1)
        End If
    Next
    ReDim arr(1 To s, 1 To 8)
    For i = 1 To 8
        arr(1, i) = brr(i, 1)
    Next
    For i = 1 To s Step 8
        x = x + 1
        For j = 1 To 8
          arr(x + 1, j) = brr(i + j - 1, 2)
        Next
    Next
    [c1].Resize(UBound(arr), 8) = arr
End Sub

数据表整理.rar

41.5 KB, 下载次数: 7

发表于 2016-8-8 18:09 | 显示全部楼层    本楼为最佳答案   

试试吧。
Sub test()
    Dim arr, brr, ar, s%, i%, j%, x%
    arr = Sheet7.Range("a1:a126")
    ReDim brr(1 To UBound(arr), 1 To 2)
    For i = 1 To UBound(arr)
        If arr(i, 1) <> "" Then
           ar = Split(arr(i, 1), ":")
           s = s + 1
           brr(s, 1) = ar(0): brr(s, 2) = ar(1)
        End If
    Next
    ReDim arr(1 To s, 1 To 8)
    For i = 1 To 8
        arr(1, i) = brr(i, 1)
    Next
    For i = 1 To s Step 8
        x = x + 1
        For j = 1 To 8
          arr(x + 1, j) = brr(i + j - 1, 2)
        Next
    Next
    [c1].Resize(UBound(arr), 8) = arr
End Sub
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-29 07:38 , Processed in 0.248850 second(s), 8 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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