
=INDIRECT(TEXT(MIN(IF((COUNTIF($E$1:E1,$A$2:$C$8)=0)($A$2:$C$8<>""),ROW($A$2:$A$8)100000+COLUMN($A$2:$C$2),104857616384)),"R0C00000"),0)
Sub w3() 'VBA比较A列唯一值 改写不动态数组 只用一个数组arr1
t = Timer
Dim arr
arr = Range("a1:a20000")
For x = 1 To UBound(arr)
For y = 1 To x - 1
If arr(x, 1) = arr(y, 1) Then
GoTo 100
End If
Next y
k = k + 1
If k <> x Then arr(k, 1) = arr(x, 1)
100:
Next x
Range("d1")Resize(k) = arr
MsgBox Timer - t
End Sub
你这个问题,直接设置数据有效性是行不通的。
必须使用辅助列将A列值进行处理,才可以做为B列的有效性。
辅助列是用数组公式重复值只取一个。以你的例子就是产生abcd
B列有效性里用offset+countblank进行空值屏除进行设置。
你讲的笼统了点,没说A列值是否固定等一系列的因素。
1、直接调用或者call 过程名 call 函数名就可以了,比如
Private Sub CommandButton1_Click()
MsgBox "你调用了CommandButton1_Click过程"
End Sub
Private Sub CommandButton2_Click()
Call CommandButton1_Click
End Sub
2、如果有参数的话需要带上参数,比如
Private Sub CommandButton1_Click()
Call MsgStr("这是过程/函数调用示例")
End Sub
Sub MsgStr(str As String)
MsgBox str
End Sub
扩展资料:
在一个变化过程中,发生变化的量叫变量,有些数值是不随变量而改变的,我们称它们为常量。
自变量:一个与它量有关联的变量,这一量中的任何一值都能在它量中找到对应的固定值。
因变量:随着自变量的变化而变化,且自变量取唯一值时,因变量有且只有唯一值与其相对应。
函数值:在y是x的函数中,x确定一个值,y就随之确定一个值,当x取a时,y就随之确定为b,b就叫做a的函数值
输入值的集合X称为F的域;可能输出值的集合Y称为F的域。函数的值域是指通过映射定义域中所有元素的F而获得的实际输出值的集合。请注意,将函数的值字段称为函数的相应字段的子集是不正确的。
在计算机科学中,参数和返回值的数据类型决定了子程序的定义域和对应域。因此,定义域和相应的域是在函数开始时确定的强制约束。另一方面,价值域与实际实现相关。
参考资料:
百度百科-函数
以上就是关于EXCEL多列提取唯一值的问题全部的内容,包括:EXCEL多列提取唯一值的问题、VBA比较A列唯一值 改写不动态数组、数据有效性的问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)