一段时间以来,我一直在尝试完成这项工作,但尽管我进行了彻底的互联网搜索,但答案一直在逃避我。我在 VBA Excel 中制作了一个带有一些文本框和复选框的用户表单。这些值将发送到 Excel 文件中的工作表。复选框代表类别,因此可以选择多个选项。该值在发送到工作表之前被转换为 true = "x" 和 false = ""。
If userForm.checkbox1.Value = True Then
ws.Rows.Cells(row, 9).Value = "X"
Else
ws.Rows.Cells(row, 9).Value = ""
End If
可以使用几乎相同的 userForm 检索和编辑表单中的信息。此表单有一个行选择框,可以使用该行选择所需的行,并将相应的数据填充到用户表单中。“x”翻译回来是这样的:
If ws1.Rows.Cells(row, 9).Value = "X" Then
userFormedit.checkbox1.Value = True
Else
userFormedit.checkbox1.Value = False
End If
问题是选定的复选框显示所需的值但呈灰色。将信息发送回工作表时,不会“看到”这些值。所以在工作表上这些值消失了。一种选择是再次重新选中所有框。这不是我想要的,因为很多人会使用这种形式,这既费时又不切实际。有没有办法激活/启用复选框?