【问题标题】:VBA get value from ComboBox to hide rowVBA 从 ComboBox 获取值以隐藏行
【发布时间】:2016-09-21 12:04:16
【问题描述】:

我在获得组合框值方面有点困难。 此组合框的属性已链接到“C10”单元格。所以我假设组合框值 = C10 值。 如果 C10 = CM 或 QM 或 QMC 或 CM 的值,则组合框值应该隐藏未使用的行

If Worksheets("QC Generator").Range("C10").Value = "QM,PM,QMC,CM" Then
Worksheets("page2").Rows("43").EntireRow.Hidden = False
Else
Worksheets("page2").Rows("43").EntireRow.Hidden = True
End If

感谢您的帮助

【问题讨论】:

  • 你有什么组合框类型:Form 一或ActiveX 一?
  • 它是一个 ActiveX 组合框

标签: excel vba combobox


【解决方案1】:

尝试对值数组使用过滤器方法。

allowed = Array("QM", "PM", "QMC", "CM")

If UBound(Filter(allowed, Range("C10").Value)) > -1 Then
  Worksheets("page2").Rows("43").EntireRow.Hidden = False
Else
  Worksheets("page2").Rows("43").EntireRow.Hidden = True
End If

【讨论】:

  • 真的很管用!无论如何,谢谢队长,如果组合框实际上不仅是“PM”“CM”“QMC”,而且它有自己的类型,例如“PM-F”“PM-F-LV”“CM-S”等等。 ...是否可以通过最左边的单词来检测?还是我应该写下所有的可能性?
  • 根据组合的填充方式,您可以将数组设置为使用该范围作为数组源。如果他们可以更改类型并创建用户定义的值,则可能会考虑将值存储在某处,然后他们根据存储的列表检查输入的值,如果没有则添加它。哦,最左边的部分是的,尝试 Left(Range("C10").Value, 2).... 也许将 2 更改为值的查找结果的最大值和“-”以及 2 的值.这不是我的想法,我必须玩它才能让它继续下去。去看看你的结局。
  • 我已经想通了,我做了 2 个组合框,即第 2 个组合框与第 1 个组合框相关联,第 1 个组合框是关键字。感谢您的帮助!
猜你喜欢
  • 1970-01-01
  • 2014-04-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-24
  • 2014-06-23
  • 2019-11-01
  • 1970-01-01
相关资源
最近更新 更多