日期:2014-05-18  浏览次数:20753 次

【高分求解】Excel2007里有什么办法可以实现验证(C#的达人们也可以来帮帮忙)
分不多 因为之前发了同样的一个帖子在office应用板块里了
http://topic.csdn.net/u/20120308/15/44232cd2-2f02-40fe-8835-273cb1612fc8.html?06045900873390773
所以解答好了 到时要分的可以直接这里拿分了!


各位大神们 怎么在excel2007里实现这样的验证 加入A列 B列里都各有内容,我想通过excel自身的功能去做个验证B列重复性的问题。
验证B列是否有重复的内容的单元格,如果有,则还需要判断对应的A列里这几个重复的单元格在A列的内容是否一致,如果A列的内容一致 则判断B列的重复单元格内容为重复内容,反之,则不为重复内容。
A B
测试 123
测试 123  
测试1 123
测试2 1234

根据这个列子按上面的条件 可以看出 B1,B2单元格重复,但B1,B2和B3单元格并不重复

请问我怎么使用excel自身的功能去实现呢? 


------解决方案--------------------
C# code


  public void AddExpression(int cellR1, int cellC1, int cellR2, int cellC2, string expression)
        {
            Range cell1;
            Range cell2;
            cell1 = (Range)_workSheet.Cells[cellR1, cellC1];
            cell2 = (Range)_workSheet.Cells[cellR2, cellC2];
            Range range = (Range)_workSheet.get_Range(cell1, cell2);
            range.Formula = expression;
        }

------解决方案--------------------
利用VBA可以验证。可以通过宏录制取得VBA代码然后再写成C#
------解决方案--------------------
添加一个C列,公式:=A1&";"&B1,这样C列的内容就是A和B的组合,然后再判断C列是否有重复就可以了,可用条件格式中的重复值找到C列中重复的单元格,这样对应的A和B列就是重复的。

不知道能不能解决你的问题。
------解决方案--------------------
通过Excel的COM组件打开Excel工作薄,然后再一行一行遍历,找出符合你要求的行不就行啦,这个更简单吧。
------解决方案--------------------
那试试用ADO.NET连接工作薄,然后通过SQL语句查询。