我已经构建了一个excel VBA表单,它能够根据以下内容生成唯一的ID号:“记录号”(即一个范围内有多少个非空单元格),一个或多个字母,财务年度(即17,2016/17财政年度)和另一封信。
代码,财务年度和其他字母均基于用户的输入,并且数字显然是自动生成的,从而生成以下格式的代码:001-A17S
下面的是产生上述结果的excel代码:
Application.ScreenUpdating = False
Worksheets("Project Tracking").Activate
DeliveryPartnerCode = lbl_DeliveryPartnerCode
FinancialyearString = txt_FinancialYear.Text
Financialyear = Right(FinancialyearString, 2)
nonfilledCells = WorksheetFunction.CountA(Range("A5:A100"))
AWRNumber = nonfilledCells + 1
AWRNumberstring = CStr(AWRNumber)
If (AWRNumber < 9) Then
AWRPrefix = "00"
ElseIf (AWRNumber < 99) Then
AWRPrefix = "0"
Else
AWRPrefix = ""
End If
If cmb_State.ListIndex = 0 Then
State = "S"
ElseIf cmb_State.ListIndex = 1 Then
State = "N"
ElseIf cmb_State.ListIndex = 2 Then
State = "Q"
ElseIf cmb_State.ListIndex = 3 Then
State = "V"
ElseIf cmb_State.ListIndex = 4 Then
State = "A"
End If
lbl_AWRReference = AWRPrefix & AWRNumberstring & "-" & DeliveryPartnerCode & Financialyear & State
Application.ScreenUpdating = True
这个混合的Excel电子表格不再适合我们使用,我决定在Access中创建一个合适的数据库。
我已经设置了一个包含相应列的表(自动编号为000的掩码),财务年度的文本框以及代码和最后一个字母的下拉框。但我现在不知道如何将所有这些连接在一起以提供正确的格式,将结果放在表单上的文本框中。我不能使用表达式构建器(不允许我选择自动编号),我找不到编写VBA代码的语法或逻辑来执行类似上面的excel VBA代码的计算。
达到我想要的最佳方式是什么?我承认自从我玩Access之后已经超过5年了,所以我有点模糊:P
感谢。
答案 0 :(得分:1)
lbl_AWRReference = AWRPrefix & AWRNumberstring & "-" & DeliveryPartnerCode & Financialyear & State .
很高兴你有它的工作。