Excel vba如何设定用指定数字替代日期
一般来说我们的通用的日期格式如2019-10-11,但某些情况下,客户需要做格式设定,对于年取最后一个字符,对于2位数的月份和日期,就使用字母按顺序代替。2019-9-8...
一般来说我们的通用的日期格式如2019-10-11,但某些情况下,客户需要做格式设定,对于年取最后一个字符,对于2位数的月份和日期,就使用字母按顺序代替。2019-9-8变成了9-9-8,而2019-10-11就变成了9-A-B,2020-12-13就变成了0-C-D。请问如何用vba代码实现这个替换。
展开
2个回答
展开全部
Excel vba设定用指定数字替代日期,其实就是提取后判断处理再组合的一个过程。
VBA代码如下:
Sub ZDate()
EndRow = Range("A65536").End(xlUp).Row
For i = 1 To EndRow
Str1 = Range("A" & i)
Y = Mid(Str1, 4, 1)
M = Month(Str1)
D = Day(Str1)
If M >= 10 Then M = Chr(M + 55)
If D >= 10 Then D = Chr(D + 55)
Str2 = Y & "-" & M & "-" & D
Range("B" & i) .NumberFormat = "@"
Range("B" & i) = Str2
Next
End Sub
至于具体所需要填写的地方就自行修改即可。
思路:
1、提取年、月、日的具体数据;
2、判断月、日的大小;
3、利用Chr函数转换成字母;
4、组合新的数据填入单元格中。
追问
好似年的逻辑有误,非常感谢!
追答
年不存在逻辑啊!就直接提取第四位数就可以了啊!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |