基于双单元格条件设置不同区域OTHER复选框状态的VBA需求
解决方案
首先你需要明确每个复选框对应的第二个判断单元格(用来读取区域名称的单元格),然后将两个判断条件用And逻辑运算符组合,只有同时满足时才会勾选复选框。
示例代码(以CheckBox48对应Really Low区域为例)
假设存储区域名称的单元格在Sheets("Sheet2").Cells(i, "ai")(你可以根据实际位置替换列标或行号):
' 对应Really Low区域的CheckBox48 With Sheets("Sheet1").CheckBox48 .Value = (Sheets("Sheet2").Cells(i, "ah") = "Other") And _ (Sheets("Sheet2").Cells(i, "ai") = "Really Low") End With
扩展到其他区域的复选框
按同样逻辑,复制修改对应区域名称和复选框编号即可:
- Low区域复选框示例:
' 对应Low区域的CheckBox(替换成实际编号,比如CheckBox49) With Sheets("Sheet1").CheckBox49 .Value = (Sheets("Sheet2").Cells(i, "ah") = "Other") And _ (Sheets("Sheet2").Cells(i, "ai") = "Low") End With
- Middle区域复选框示例:
' 对应Middle区域的CheckBox(替换成实际编号,比如CheckBox50) With Sheets("Sheet1").CheckBox50 .Value = (Sheets("Sheet2").Cells(i, "ah") = "Other") And _ (Sheets("Sheet2").Cells(i, "ai") = "Middle") End With
- High区域复选框示例:
' 对应High区域的CheckBox(替换成实际编号,比如CheckBox51) With Sheets("Sheet1").CheckBox51 .Value = (Sheets("Sheet2").Cells(i, "ah") = "Other") And _ (Sheets("Sheet2").Cells(i, "ai") = "High") End With
关键说明
- 替换代码中的
CheckBoxXX为你实际的复选框编号 - 替换
Cells(i, "ai")为存储区域名称的实际单元格位置(列标或行号按需调整) And运算符确保两个条件同时成立时,复选框才会被勾选
内容的提问来源于stack exchange,提问作者reallycow21
相关产品推荐
相关产品推荐

