如何用VBA实现两组数字排重,将不一样的数据显示在第三个单元格内。 200
如,第一个单元格内是881571915957第二个单元格内88571557那么第三个单元格内就显示的是1919B9输入881571915957C9会根据其它的规则出现88...
如,第一个单元格内是881571915957 第二个单元格内 88571557 那么第三个单元格内就显示的是1919
B9输入881571915957 C9会根据其它的规则出现 88571557
需求在D9输出 B9和C9除重复之后的其它数字 1919
实际应用,在A9输入一个名字的拼音,B9就会自动根据A9拼音里字母的值对应转换成数字(字母的数字如上图,第一列ajs的值是1,第二列bkt的值为2,以此类推) C9输出的是除黄色部分(a,e,i,o,u)之外名字中包含的其它字母的值。 而D9想要输出的是 只转换名字中(a,e,i,o,u)这几个字母的值。
已经从别的地方找到了答案。
有需要的朋友可以看一下。 展开
B9输入881571915957 C9会根据其它的规则出现 88571557
需求在D9输出 B9和C9除重复之后的其它数字 1919
实际应用,在A9输入一个名字的拼音,B9就会自动根据A9拼音里字母的值对应转换成数字(字母的数字如上图,第一列ajs的值是1,第二列bkt的值为2,以此类推) C9输出的是除黄色部分(a,e,i,o,u)之外名字中包含的其它字母的值。 而D9想要输出的是 只转换名字中(a,e,i,o,u)这几个字母的值。
已经从别的地方找到了答案。
有需要的朋友可以看一下。 展开
1个回答
展开全部
EXCEL函数及VBA都可以实现这个功能,并不难。
函数法:在A2输入公式: =if(A1<>"",A3,""), 此时如果A1为空,A2默认为空值;如果A1非空,A2自动显示A3数据。
VBA法:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Range("a1") <> "" Then Range("a1") = Range("a3")
End Sub
函数法:在A2输入公式: =if(A1<>"",A3,""), 此时如果A1为空,A2默认为空值;如果A1非空,A2自动显示A3数据。
VBA法:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Range("a1") <> "" Then Range("a1") = Range("a3")
End Sub
追问
不对呀,我A1输入的是81571915957 A3输入的是1919 A2用的您的公式,竟然输出的是1919 而正确输出的应该是88571557 才对呀
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询