Excel精英培训网

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

[已解决]拆分单元格内的数据141

[复制链接]
发表于 2012-8-21 22:38 | 显示全部楼层 |阅读模式
5学分
拆分单元格内的数据141
最佳答案
2012-8-21 23:33
本帖最后由 柳如烟 于 2012-8-21 23:35 编辑

  1. Sub 拆分单元格内数据()
  2.     Dim arr, brr(1 To 10000, 1 To 4), a
  3.     Dim i%, j%, k%, m%, n%, s$, str$
  4.     arr = Range("a2:d" & Range("a65536").End(3).Row)
  5.     For i = 1 To UBound(arr)
  6.         a = Split(arr(i, 1), "/")
  7.         For j = 0 To UBound(a)
  8.             For m = 1 To Len(a(j))
  9.                 If IsNumeric(Mid(a(j), m, 1)) Then
  10.                     n = Mid(a(j), m)
  11.                     s = Left(a(j), m - 1)
  12.                     Exit For
  13.                 End If
  14.             Next
  15.             For m = 1 To Len(s) Step 2
  16.                 str = Mid(s, m, 2)
  17.                 k = k + 1
  18.                 brr(k, 1) = str & n
  19.                 brr(k, 2) = arr(i, 2)
  20.                 brr(k, 3) = arr(i, 3)
  21.                 brr(k, 4) = arr(i, 4)
  22.             Next
  23.         Next
  24.     Next
  25.     With Range("e2").Resize(k, 4)
  26.         .ClearContents
  27.         .Value = brr
  28.     End With
  29. End Sub
复制代码
看着你的结果写的。

拆分单元格内的数据.rar

2.13 KB, 下载次数: 23

发表于 2012-8-21 23:33 | 显示全部楼层    本楼为最佳答案   
本帖最后由 柳如烟 于 2012-8-21 23:35 编辑

  1. Sub 拆分单元格内数据()
  2.     Dim arr, brr(1 To 10000, 1 To 4), a
  3.     Dim i%, j%, k%, m%, n%, s$, str$
  4.     arr = Range("a2:d" & Range("a65536").End(3).Row)
  5.     For i = 1 To UBound(arr)
  6.         a = Split(arr(i, 1), "/")
  7.         For j = 0 To UBound(a)
  8.             For m = 1 To Len(a(j))
  9.                 If IsNumeric(Mid(a(j), m, 1)) Then
  10.                     n = Mid(a(j), m)
  11.                     s = Left(a(j), m - 1)
  12.                     Exit For
  13.                 End If
  14.             Next
  15.             For m = 1 To Len(s) Step 2
  16.                 str = Mid(s, m, 2)
  17.                 k = k + 1
  18.                 brr(k, 1) = str & n
  19.                 brr(k, 2) = arr(i, 2)
  20.                 brr(k, 3) = arr(i, 3)
  21.                 brr(k, 4) = arr(i, 4)
  22.             Next
  23.         Next
  24.     Next
  25.     With Range("e2").Resize(k, 4)
  26.         .ClearContents
  27.         .Value = brr
  28.     End With
  29. End Sub
复制代码
看着你的结果写的。

拆分单元格内的数据.rar

16.86 KB, 下载次数: 21

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-9 04:39 , Processed in 0.217277 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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