Excel精英培训网

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

[已解决]规范日期格式

[复制链接]
发表于 2017-1-17 00:06 | 显示全部楼层    本楼为最佳答案   
本帖最后由 today0427 于 2017-1-17 00:08 编辑

看看是否符合你的要求。

规范日期格式.rar

47.75 KB, 下载次数: 10

评分

参与人数 2 +23 金币 +20 收起 理由
cunfu2010 + 3 感谢老师,有你的帮助学习更有动力。
望帝春心 + 20 + 20 大爱堵堵,无所不能!

查看全部评分

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
回复

使用道具 举报

 楼主| 发表于 2017-1-17 20:42 | 显示全部楼层
本帖最后由 cunfu2010 于 2017-1-21 09:23 编辑
today0427 发表于 2017-1-17 00:06
看看是否符合你的要求。

我在提示中加入了源目标,但实现不了源目标循环,如何解决?谢谢。
A1和A628单元格内容相同(实际中这种情况很容易出现)
回复

使用道具 举报

发表于 2017-1-18 13:46 | 显示全部楼层
应today要求改动了一下。
  1. Sub grf()
  2.     arr = Range("a1").CurrentRegion
  3.     For i = 1 To UBound(arr)
  4.         x = arr(i, 1)
  5.         If Len(x) = 5 Then
  6.             arr(i, 1) = Format(x, "yyyymm")
  7.         Else
  8.             x = Replace(x, "/", "-")
  9.             p = InStr(x, "-")
  10.             If p > 0 Then
  11.                 arr(i, 1) = Format(Split(x, "-")(0), "0000") & Format(Split(x, "-")(1), "00")
  12.             ElseIf Len(x) > 5 Then
  13.                 y = Val(Mid(x, 5, 2))
  14.                 s1 = Left(x, 4) & "0" & Mid(x, 5, 1)
  15.                 s2 = Left(x, 6)
  16.                 If y > 12 Then
  17.                     arr(i, 1) = s1
  18.                 Else
  19.                     If Len(x) = 6 Or Len(x) = 8 Then
  20.                         arr(i, 1) = s2
  21.                     Else
  22.                         yn = MsgBox("请依据源目标" & "A" & i & "=" & arr(i, 1) & "选择结果" & vbCrLf & vbCrLf & _
  23.                            "是(Y): " & s1 & vbCrLf & vbCrLf & _
  24.                            "否(N): " & s2, vbYesNo, "提示")
  25.                         arr(i, 1) = IIf(yn = vbYes, s1, s2)
  26.                     End If
  27.                 End If
  28.             End If
  29.         End If
  30.     Next
  31.     Columns("e:e").Clear
  32.     Range("e1").Resize(UBound(arr)) = arr
  33. End Sub
复制代码

规范日期格式.rar

46.41 KB, 下载次数: 15

点评

老师你辛苦了!您是世界上最可爱的人哈哈哈……  发表于 2017-1-18 14:27

评分

参与人数 3 +21 收起 理由
苏子龙 + 9 神马都是浮云
cunfu2010 + 3 感谢老师,有你的帮助学习更有动力,级别不.
today0427 + 9 敬佩您!

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2017-1-19 10:37 | 显示全部楼层
grf1973 发表于 2017-1-18 13:46
应today要求改动了一下。

回复晚了,不好意思,十分感谢!
回复

使用道具 举报

发表于 2017-1-19 10:56 | 显示全部楼层
那日期是1980111是1980-01-11还是1980-11-01?数据不规范,是硬伤
回复

使用道具 举报

 楼主| 发表于 2017-1-21 09:22 | 显示全部楼层
苏子龙 发表于 2017-1-19 10:56
那日期是1980111是1980-01-11还是1980-11-01?数据不规范,是硬伤

谢谢关注,这种情况会通过提示框手动确定。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-20 16:57 , Processed in 0.266417 second(s), 14 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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