为 excel vba 中的单元格分配约束
Assigning a constraint to a cell in excel vba
我在excel中启用了宏spreadsheet(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 表单的“配置”sheet 中,我想在 B4 单元格中写入该文本 - CSS-2020-08-,如下所示:
最后,修改上面的代码,这样,就可以代替
Const IDPrefix As String = "CSS-2020-08-"
在代码的上半部分,它会引用我的 Config sheet!
的 B4 单元格
是否可以修改此代码 - 以引用配置 sheet 的 B4 单元格,而不是仅在 [=38= 中包含“CSS-2020-08-”文本]代码?
替换...
Const IDPrefix As String = "CSS-2020-08-" '<- Edit as you want
与...
Dim IDPrefix As String: IDPrefix = ThisWorkbook.Sheets("Config").Range("B4")
我在excel中启用了宏spreadsheet(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 表单的“配置”sheet 中,我想在 B4 单元格中写入该文本 - CSS-2020-08-,如下所示:
最后,修改上面的代码,这样,就可以代替
Const IDPrefix As String = "CSS-2020-08-"
在代码的上半部分,它会引用我的 Config sheet!
的 B4 单元格是否可以修改此代码 - 以引用配置 sheet 的 B4 单元格,而不是仅在 [=38= 中包含“CSS-2020-08-”文本]代码?
替换...
Const IDPrefix As String = "CSS-2020-08-" '<- Edit as you want
与...
Dim IDPrefix As String: IDPrefix = ThisWorkbook.Sheets("Config").Range("B4")