【发布时间】:2016-03-26 11:15:56
【问题描述】:
我使用的是 Excel 2013(64 位)。
我目前正在开发一个用于记录事件的用户表单。但是,我无法在 VBA 中解决如何提出代码,该代码将导致上一行中的下一个可用数字填充用户表单中的 INC 数字文本框(ADD_txtSEC_INC_No)(然后相应地更新电子表格)。
结束格式应显示为 IncYYYYMM-00000 - 例如:Inc201603-00456(这正是我需要的)
我目前有一个代码(如下),它会显示下一个数字,但它不是所需的格式。 Sample of New form in development
Private Sub UserForm_Initialize()
'** SECURITY INCIDENT NUMBER IN TEXTBOX
'**WORKS
Me.ADD_txtSEC_INC_No.Enabled = True
Dim irow As Long
Dim ws As sw_SecIncidentDetails
Set ws = sw_SecIncidentDetails
'find last data row from database'
irow = ws.Cells(Rows.Count, 1).End(xlUp).Row
Me.ADD_txtSEC_INC_No.Text = ws.Cells(irow, 1).value + 1
End Sub
其他信息 当这个表格上线时,我需要让它从以前的号码继续,例如,如果我们当前工作表上的 Inc 号码,在 A 行是 Inc201603-00456,那么我需要你的初始化表单时转到下一个 Inc 编号的代码,例如 Inc201603-00457 我们不能从 0000 开始编号,因为这会将序列从先前的条目中排除。 抱歉,如果这听起来令人困惑。
在 B 列中,单元格由一个名为 ADD_Date_Recorded_TXT 的文本框填充,该文本框已编码:
Me.ADD_Date_Recorded_TXT.value = Format(Now, "dd/mm/yyyy")
我之所以提到这一点,是因为 David 下面的解决方案似乎将日期格式更改为 mm/dd/yyyy(不明白为什么这样做) - 我需要所有日期都保持 dd/mm/yyyy 格式.
我只是想我会在“附加信息”中解决上述这些问题,而不是单独回复每个问题
【问题讨论】:
标签: vba excel excel-2013 countif