这样的代码在当天打印保存的时候一点问题都没有,可是到第二天表格上还显示昨天的编号,不会跳转到今天的日期,必须保存后才能显示今天的编号,这样子很麻烦,很希望到第二天的时候就怎么跳转到当天的日期和编号,这样打印保存就以当天为准!
请高手帮帮忙修改一下代码!感激不尽!
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim xStr As String
xStr = Right(Sheets("单据").Range("P4"), 11)
If Left(xStr, 8) = Format(Date, "yyyymmdd") Then
xStr = Format(Date, "yyyymmdd") & Application.Text(Right(xStr, 3) + 1, "000")
Else
xStr = Format(Date, "yyyymmdd") & "001"
End If
Sheets("单据").Range("P4") = xStr
End Sub
改为
Private Sub Workbook_Open()
就好了
================
然后 这段程序 还是保留, 就是要有2段 程序
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim xStr As String
xStr = Right(Sheets("单据").Range("P4"), 11)
If Left(xStr, 8) = Format(Date, "yyyymmdd") Then
xStr = Format(Date, "yyyymmdd") & Application.Text(Right(xStr, 3) + 1, "000")
Else
xStr = Format(Date, "yyyymmdd") & "001"
End If
Sheets("单据").Range("P4") = xStr
End Sub
已经尝试过,不行的
Dim xStr As String
xStr = Right(Sheets("单据").Range("P4"), 11)
If Left(xStr, 8) = Format(Date, "yyyymmdd") Then
Exit Sub
Else
xStr = Format(Date, "yyyymmdd") & "001"
End If
Sheets("单据").Range("P4") = xStr
End Sub
'可以加一个Workbook_Open事件的代码,判断下P4的日期是否是当天,是当天日期就退出,不是的话直接直接把内容改为“当天日期001”就可以了。也就是每次打开工作簿的时候先判断一下
大侠,请编写一个吧!我也试过了,保存到新表的时候,编号会根据我的品名行自动累计上去的,我希望保存一次就自动加一次,而不是累加上去