当前位置: 代码迷 >> VBA >> 用vba中判断指定excel文件中是否包含指定字符串并标记,该怎么解决
  详细解决方案

用vba中判断指定excel文件中是否包含指定字符串并标记,该怎么解决

热度:5148   发布时间:2013-02-26 00:00:00.0
用vba中判断指定excel文件中是否包含指定字符串并标记
我想用vba写段程序,用于查找给定excel文件中是否包含指定的字符串,如在book.xls文件中查找"abc"并用红色标记,该如何写程序,要详细代码
我是新手,请各位高手指点..
谢谢 
我会重重有赏。急用,,谢谢

------解决方案--------------------------------------------------------
我这有一段之前用c#写的代码

Excel.Workbook wbValuation;
Excel.ApplicationClass excelValuation = new Excel.ApplicationClass();
excelValuation.Visible = false;
excelValuation.AlertBeforeOverwriting = false;
excelValuation.DisplayAlerts = false;
wbValuation=excelValuation.Workbooks.Open("123.xls", 2, true, missing, missing, missing, true, missing, missing, false, false, missing, false, missing, missing);
foreach (Excel.Worksheet wsValuation in wbValuation.Worksheets)
{
object FindObject;
int FirstCellX = -1, FirstCellY = -1;
Excel.Range FindResult;
for (FindObject = missing; ; )
{
FindResult = UsedRange.Find("abc", FindObject, missing, Excel.XlLookAt.xlPart, Excel.XlSearchOrder.xlByRows, Excel.XlSearchDirection.xlNext, false, true, missing);
FindObject = FindResult;
if (FindObject == null) break;
if (FirstCellX == -1)
{
FirstCellX = FindResult.Column;
FirstCellY = FindResult.Row;
}
else if (FindResult.Column == FirstCellX && FindResult.Row==FirstCellY)
{
break;
}
//FindResult.Font.Color = 0xff; // 字体变红
FindResult.Interior.Color = 0xff; // 背景变红
}
}
wbValuation.Close(false, missing, missing);
excelValuation.Quit();

如果用VBA的话更好做,在C#里不能使用 foreach (cell in Worksheet),所以上面的例子中我用了Find()来找单元格
  相关解决方案