【问题标题】:VBA if value in cell display string in other cellVBA如果单元格中的值在其他单元格中显示字符串
【发布时间】:2021-05-28 08:08:15
【问题描述】:

我正在尝试在我的 Excel 中设置一些内容以改进我的流程。 我想创建一个 VBA 函数,如果单元格 B11 包含“_01_Clients_Particuliers”并且单元格 B12 包含“_00”,则可以在单元格 B13 中显示值。 这些单元格是下拉列表。

到目前为止,我从未使用过 VBA。

我可以在 B13 单元格中写入:

=IF(COUNTIF(B11,"_01_Clients_Particuliers"),"_100PRD05","")

但我需要考虑两个单元格,我假设我需要使用 VBA 来执行此操作,因为单元格 B14 已经有一个公式:=INDIRECT(B13)

你有什么想法吗?

【问题讨论】:

    标签: excel vba


    【解决方案1】:

    假设您的下拉列表只包含很少的选择,那么以下公式应该适合您。

    =IF(AND(ISNUMBER(SEARCH(H1,C1)),ISNUMBER(SEARCH(H2,C2))),"It is there","not found")
    

    另外,你将直接写范围引用,在我的情况下它会返回错误

    【讨论】:

    • 如果我用 C3 的单元格查看您的示例,我已经有了一个带有“间接”的公式。如何在此下拉列表中添加另一个公式以直接显示元素?
    • @Essex 他说公式在 B14 中,而不是 B13 中,对吗?
    【解决方案2】:

    除非我误解了您的问题,否则我认为您不需要 VBA 来执行此操作。 查看Using IF with AND, OR and NOT functions 再次抱歉,如果我弄错了,但似乎可以使用 B13 中的以下公式产生您想要的结果:

    IF(AND(B11 = "_01_Clients_Particuliers", B12 = "_00"), "_100PRD05","")
    

    如果B11 等于“_01_Clients_Particuliers”并且 B12 等于“_00”,这会将值“_100PRD05”放入B13

    【讨论】:

    • B11、B12 和 B13 是下拉列表。所以我不能添加公式,因为我已经使用 INDIRECT 公式将数据验证到这些案例中。
    • 你能展示你用来将值放入 B11-13 的公式吗?如果单元格的值是用INDIRECT 生成的,那么像IFAND 等逻辑测试仍然有效,所以如果这些公式对你不起作用,肯定是因为我没有正确理解的其他原因
    猜你喜欢
    • 1970-01-01
    • 2018-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多