首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用VBA代码评估和比较单元格值

用VBA代码评估和比较单元格值
EN

Stack Overflow用户
提问于 2019-09-16 14:47:36
回答 2查看 59关注 0票数 0

我正在比较列A中的值和B列中的值,并期望在列C中得到输出。列A包含ID。每个ID可以有一个云组件,也可以没有云组件。一个全是云的应用程序应该有云的输出。一个不完全是云的应用程序应该有云的输出。具有云而不是云组件的应用程序是一个混合应用程序

我尝试了一个基本的excel公式,将A列中的值范围与B列中的值进行比较,但是在VBA中必须有更简单的方法。我对编码很陌生,但我不认为它需要像在数组中存储值那样复杂。

代码语言:javascript
运行
复制
Sub CompareCells()
    If Range("AA:AA").value = Range("AA:AA").value Then
       'Not sure what to do here to evaluate after making sure the range is true
    Else
        'Not sure where to go next
    End If
End Sub

示例图片附呈。输出应该根据每个应用程序的配置值给出非云、混合或云的值。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-09-16 15:06:06

如果输入C2 (假设上面是在A和B中)并复制下来,这是可行的:

代码语言:javascript
运行
复制
=IF(COUNTIFS(A:A,A2,B:B,"Cloud")=0,"Not Cloud",IF(COUNTIFS(A:A,A2,B:B,"Not Cloud")=0,"Cloud","Hybrid"))

如果喜欢的话,可以采用R1C1风格:

代码语言:javascript
运行
复制
=IF(COUNTIFS(C[-2],RC[-2],C[-1],"Cloud")=0,"Not Cloud",IF(COUNTIFS(C[-2],RC[-2],C[-1],"Not Cloud")=0,"Cloud","Hybrid"))

因此,如果您希望为此创建一些自动化,您可以使用这样的方法:

代码语言:javascript
运行
复制
With ActiveSheet

    .Range("C2:C12").FormulaR1C1 = _
        "=IF(COUNTIFS(C[-2],RC[-2],C[-1],""Cloud"")=0,""Not Cloud"",IF(COUNTIFS(C[-2],RC[-2],C[-1],""Not Cloud"")=0,""Cloud"",""Hybrid""))"
    ActiveSheet.Calculate
    .Range("C2:C12").Value = .Range("C2:C12").Value

End With
票数 1
EN

Stack Overflow用户

发布于 2019-09-16 15:02:28

这个公式应该能起作用:

=IF(IF(COUNTIFS(A:A;A2;B:B;"Cloud")>0;1;0)+IF(COUNTIFS(A:A;A2;B:B;"Not Cloud")>0;1;0)=2;"Hybrid";IF(COUNTIFS(A:A;A2;B:B;"Cloud");"Cloud";"Not Cloud"))

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57959320

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档