[英]Assigning a constraint to a cell in excel vba
我在 excel 中有启用宏的电子表格 (Form),它有 vba 代码部分,它会自动生成唯一标识符,如下所示:它采用CSS-2020-08-文本并为表单的每条记录添加一个唯一 ID (SurveyCode) (见下面的代码):
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim IDMaxSuffix As Long, i As Long
Dim a As Variant
Const IDPrefix As String = "CSS-2020-08-" '<- Edit as you want
If Not Intersect(Target, Range("Table1")) Is Nothing Then
With Range("Table1[SurveyCode]")
a = .Value
For i = 1 To UBound(a)
If a(i, 1) Like "*-######" Then
If Right(a(i, 1), 6) > IDMaxSuffix Then IDMaxSuffix = Right(a(i, 1), 6)
End If
Next i
For i = 1 To UBound(a)
If Len(a(i, 1)) = 0 Then
IDMaxSuffix = IDMaxSuffix + 1
a(i, 1) = IDPrefix & Format(IDMaxSuffix, "000000")
End If
Next i
Application.EnableEvents = False
.Value = a
Application.EnableEvents = True
End With
End If
End Sub
在我的 excel 表单的“配置”表中,我想在 B4 单元格中写入该文本 - CSS-2020-08-,如下所示:
最后,修改上面的代码,这样,而不是
Const IDPrefix As String = "CSS-2020-08-"
在代码的上部,它将引用我的配置表的 B4 单元格!
是否可以修改此代码 - 引用配置表的 B4 单元格,而不仅仅是在 VBA 代码中包含“CSS-2020-08-”文本?
代替...
Const IDPrefix As String = "CSS-2020-08-" '<- Edit as you want
和...
Dim IDPrefix As String: IDPrefix = ThisWorkbook.Sheets("Config").Range("B4")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.