如何将Excel中date1函数的逻辑添加到datecleanup函数末尾?
整合VBA函数:将date1逻辑加入datecleanup
嘿,刚接触VBA不用犯愁,我来帮你把date1的逻辑完美整合到datecleanup里,让datecleanup先完成所有日期清理操作,最后再执行date1的提取步骤~
整合后的完整函数代码
Function datecleanup(inputdate As Variant) As Variant ' 原datecleanup的日期清理逻辑 If Len(inputdate) = 0 Then inputdate = "01/01/1901" ElseIf Len(inputdate) = 4 Then inputdate = "01/01/" & inputdate ElseIf InStr(1, inputdate, ".") Then inputdate = Replace(inputdate, ".", "/") End If ' 加入date1的核心逻辑:提取空格前的内容 datecleanup = Split(inputdate, Chr(32))(0) End Function
整合步骤拆解
我一步步给你讲清楚怎么实现的,方便你理解:
- 第一步:完整保留正确版datecleanup里的所有日期处理逻辑,这部分负责搞定空值补默认日期、4位年份转标准日期格式、把点号替换成斜杠,先把输入的日期格式规整好。
- 第二步:等所有清理操作完成后,加入date1里的关键代码
Split(inputdate, Chr(32))(0)——这行代码会把处理后的日期字符串按空格拆分,取拆分后的第一部分,也就是去掉空格后面的额外内容(比如时间片段)。 - 第三步:最后把处理好的结果赋值给函数名
datecleanup,作为函数的最终返回值。
这样整合后,datecleanup就同时具备了原datecleanup的日期规整能力,以及date1的提取功能,完全符合你要求的“date1逻辑作为最后执行步骤”的需求~
内容的提问来源于stack exchange,提问作者JBinson88
相关产品推荐
相关产品推荐

