在excel vba中将约束指定给单元格
我在excel中启用了宏电子表格,其中包含vba代码部分,它会自动生成唯一标识符,如下所示: 它接受CSS-2020-08-text,并向表单的每个记录添加唯一的ID SurveyCode 见下面的代码:在excel vba中将约束指定给单元格,excel,vba,constraints,cell,Excel,Vba,Constraints,Cell,我在excel中启用了宏电子表格,其中包含vba代码部分,它会自动生成唯一标识符,如下所示: 它接受CSS-2020-08-text,并向表单的每个记录添加唯一的ID SurveyCode 见下面的代码: Option Explicit Private Sub Worksheet_Change(ByVal Target As Range) Dim IDMaxSuffix As Long, i As Long Dim a As Variant Const IDPrefi
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
在代码的上半部分,它将引用配置表的B4单元格
是否可以修改此代码-引用配置表的B4单元格,而不只是在VBA代码中包含CSS-2020-08-文本?替换
Const IDPrefix As String = "CSS-2020-08-" '<- Edit as you want
Const IDPrefix As String = "CSS-2020-08-" '<- Edit as you want
Dim IDPrefix As String: IDPrefix = ThisWorkbook.Sheets("Config").Range("B4")