lubracali 发表于 2022-7-6 22:49:45

计算不同

大家好。
 
我正在开发一个项目,我将创建一个命令,滚动8个文本框的值,并告诉我其中有多少不同的值。
 
例如,如果值为(1-2-2-1-3-5-1-3),则msgbox应显示“4”,因为彼此不同的值为(1,2,3,5)。
 
应该插入到一个更复杂的项目中,但现在我创建了一个简单的项目来研究这个问题,但我有几个问题。
 
我创建了8个文本框和一个命令按钮。
 
这是命令按钮的代码
 
问题是:它计算值之间的差异次数,而不是不同值的数量。
 
我希望有人能帮助我,甚至推荐一种方法

BlackBox 发表于 2022-7-6 23:07:06

您需要逐步浏览文本列表(一次一个),并将单个数字存储到变量列表中,*如果*该数字不属于变量列表。
 
然后报告变量列表的值、不同数字的计数等。。
 
希望这有帮助!

lubracali 发表于 2022-7-6 23:15:08

 
当然可以
 
非常感谢你
 
我学会了使用collection对象,我写了这个。
 
现在它可以工作了!

BlackBox 发表于 2022-7-6 23:28:51

 
 
不客气。

Jeff H 发表于 2022-7-6 23:36:52

你能做的另一件事是最重要的。Net集合有一个contains方法,该方法返回布尔值
 
这将遍历所有文本框,仅当它不在集合中时才添加
 
 
2

lubracali 发表于 2022-7-6 23:49:16

 
我尝试了这段代码,但唯一符合方法“contains”的元素是listbox。
 
我认为这是由于autocad中的vba不同于vb。网

SEANT 发表于 2022-7-6 23:50:45

VBA可以使用Windows。脚本编写。Dictionary对象。那有一本类似的字典。存在以测试它是否已经存在。
 
不过,接受RenderMan的建议或继续收集可能更容易。我没用过窗户。脚本编写。VBA项目中的字典,但我怀疑它的性能会比自定义的“Exist”例程好得多。
 
字典对象确实受益于额外的存储。If文本框。将文本设置为键,然后可以增加值以跟踪其出现的次数。
页: [1]
查看完整版本: 计算不同