【问题标题】:MINUS operation on Array elements对数组元素的 MINUS 操作
【发布时间】:2012-12-05 14:08:36
【问题描述】:

我有一个数组说 A=(11,23,32,44,56,88,55,14,78,79) 和 B=(44,56,88,55,14) 。现在使用 VBScript 可以我执行 Set 操作 MINUS 以获得另一个输出,比如 C=(11,23,32,78,79)?

数组 A 和 B 也可以被认为是两个 Excel 列。

不想使用任何循环技术。

请帮忙

谢谢,

【问题讨论】:

    标签: excel vbscript vba


    【解决方案1】:

    不,vbs 或 vba 不能直接对两个数组做减法运算(没有内置函数) 您必须使用循环 这是vba中数组操作的一个很好的参考http://www.cpearson.com/excel/vbaarrays.htm

    【讨论】:

    • +1 指出循环是解决此类问题的基本策略。
    【解决方案2】:

    字典 是实现(假的?)集合和操作的 VBScript 工具,这也许并不奇怪。见this Set demo

    顺便说一句:如果您必须处理不止一件事情,您将不得不循环或请其他人为您循环。坚持“请不要循环”是没有意义的。如果“可行”,您可以通过查找表或预计算替换多个循环 (n x m .. x z) 来进行优化,但如果您不考虑循环,您将无法理解问题。

    【讨论】:

    【解决方案3】:

    如果你有命名范围AcolBcol,你可以在Excel vba中做到这一点

    Range("C3:C10").FormulaArray = "=Acol-Bcol"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-21
      • 2011-05-06
      • 2012-05-07
      • 1970-01-01
      相关资源
      最近更新 更多