【发布时间】: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 列。
不想使用任何循环技术。
请帮忙
谢谢,
【问题讨论】:
我有一个数组说 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 列。
不想使用任何循环技术。
请帮忙
谢谢,
【问题讨论】:
不,vbs 或 vba 不能直接对两个数组做减法运算(没有内置函数) 您必须使用循环 这是vba中数组操作的一个很好的参考http://www.cpearson.com/excel/vbaarrays.htm
【讨论】:
字典 是实现(假的?)集合和操作的 VBScript 工具,这也许并不奇怪。见this Set demo。
顺便说一句:如果您必须处理不止一件事情,您将不得不循环或请其他人为您循环。坚持“请不要循环”是没有意义的。如果“可行”,您可以通过查找表或预计算替换多个循环 (n x m .. x z) 来进行优化,但如果您不考虑循环,您将无法理解问题。
【讨论】:
如果你有命名范围AcolBcol,你可以在Excel vba中做到这一点
Range("C3:C10").FormulaArray = "=Acol-Bcol"
【讨论】: