【发布时间】:2019-12-12 23:27:07
【问题描述】:
我有一个用户窗体,上面有 2 个组合框。
-- 一个用作带有团队名称的下拉菜单,即:Team 1、Team 2、Team 3,-- 另一个组合框用作文本输入。
我想要一个 VBA 代码,在按下操作按钮后,它会检查输入框的值,并将其与第一个组合框中的列表交叉引用。
-- 如果该框的值不在其中,我希望它执行一个索引匹配功能,该功能将更改某些页面上的列表值并重新加载用户表单。 -- 如果该框的值在那里,我希望它通过消息框提示用户“无法更改团队、重复或其他内容”。
我尝试了变量,对于每个语句和列表索引。到目前为止没有运气。
我已经更改了很多代码,我没有任何半工作示例,但我会添加这个(我知道它已损坏)但我会尝试传达我想要发生的事情:
KEY:Combobox1 = Select_Team(下拉)Combobox2 = Change_Team(输入)
For Each item In Select_Team
If Select_Team.listindex = Change_Team.Value Then
MsgBox "Duplicate"
Else:
MsgBox "This was changed"
'(This code works, I just need to implement the IF function)
Evaluate("=INDEX('Teams'!B2:S21,2,MATCH(""" & Select_Team.Value & """,'Teams'!B3:S3,0))") = Me.Change_Team.Value
Unload Me
Edit_Teams.Show
我让它工作了,但我无法让它标记重复。我最终得到了一个组合框:
Team 1
Team 1
Team 1
Team 4
Team 5
Team 6
Team 7
团队是从另一个页面从单元格值中拉出的,因此这些项目是“硬编码”的,因此无法通过 listindex -1 删除。
我希望索引匹配函数更改团队名称(它会这样做),但前提是 Change_Team 值不在下拉组合框中。
【问题讨论】:
标签: excel vba combobox duplicates userform