要递增的数字,然后随每个日期重置

时间:2016-09-28 08:37:48

标签: excel vba excel-vba macros

我在网和本论坛上搜索了很多。我发现了类似的问题,但它没有回答我的问题。 我需要做的是我需要生成一个包含日期,月份的数字,然后是一个需要在每个新日期重置的序列号。 例如280901(28个月09个月01-序列号),280902,280903 ...... 然后290901为下一个日期 我是VB的新手。 请帮忙!!

2 个答案:

答案 0 :(得分:2)

您可以使用公式执行此操作。如果您在A列中有您的日期并将此公式放在B列中以创建序列号:

=TEXT(A1,"DDMM")&TEXT(COUNTIF($A$1:A1,A1),"0#")

您将获得以下内容:

28/09/2016  280901
28/09/2016  280902
28/09/2016  280903
28/09/2016  280904
29/09/2016  290901
29/09/2016  290902
29/09/2016  290903
29/09/2016  290904

答案 1 :(得分:0)

这不是免费的代码编写服务,但为了让您入门,您可以尝试以下内容。

Dim iVal As Integer, tdate As String, serial as String
'sets todays date as string
tdate = Date

'counts how many serials there are for today and adds 1
iVal = Application.WorksheetFunction.CountIf(Range("A:A"), "*" & tdate & "*") + 1

'creates new serial
serial = Date & " 000" & iVal

'just for this example it will put the new serial in column A
Range("A" & iVal).Value = serial