Excel表格在vbscripting中存在疑问

时间:2009-08-05 13:22:34

标签: vbscript excel.application

我正在创建一个excel文件,如下所示              strFileName =“c:\ test.xls”

         Set objExcel = CreateObject("Excel.Application")
         objExcel.Visible = True

         Set objWorkbook = objExcel.Workbooks.Add()
         objWorkbook.SaveAs(strFileName)

         objExcel.Quit

现在,在进行一些数据操作之后,我会在同一个Excel工作表的sheet1和sheet2中手动将一些值填充到Excel工作表中。 如果有人能告诉我如何比较同一excelk表的两个不同表中的两个值,我会很高兴 例如: sheet1有

             **Executables**             **checkbox**
                E1                             yes
                E2                             No
                E3                             yes

和sheet2有                   可执行文件输入数量输入1输入2                      E1
                     发送2 4 {ENTER}                      放2个Input.xls {ENTER}                      发送2 4 {ENTER} {ENTER}                     
    现在我希望我的vbscript shud搜索表1中的每个是,然后来到这里并在sheet2中搜索。我将如何在相同的excel表文件中对sheet1和sheet2进行比较搜索

        Thanks
        Maddy   

2 个答案:

答案 0 :(得分:1)

如何使用两个工作表对象来比较值
这会将sheet1中的每个单元格与sheet2中的相同单元格进行比较。

Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open("C:\Test.xls")
Set objSheet1 = objExcel.ActiveWorkbook.Worksheets(1)
Set objSheet2 = objExcel.ActiveWorkbook.Worksheets(2)

For i = 1 To objSheet1.UsedRange.Columns.Count
    For j = 1 To objSheet1.UsedRange.Rows.Count
        if (objSheet1.Cells(j, i).Value = objSheet2.Cells(j,i).Value) Then
            'Equal do something
        else
            'Not Equal do something
        End IF
    Next
Next

objExcel.Quit
Set objSheet2 = Nothing
Set objSheet1 = Nothing
Set objWorkbook = Nothing
Set objExcel = Nothing 

答案 1 :(得分:0)

您的数据是否需要存储在表单元素中,还是只能使用电子表格函数?一个简单的VLookup公式将比较两个工作表,但只能搜索单元格中包含的数据。

     SHEET 1
  Boy     Age
1 Joe     13
2 Jimmy   12
3 Jack    27

在第二张表格中,使用以下公式:

 =if(vlookup(a1,'[Sheet 1.xlsx]Sheet1'!$A$1:$B$2,2,false)=a2, "Same", "Different")

     SHEET 2
  Boy     Age   Formula
1 Joe     14    Different
2 Jimmy   12    Same
3 Jack    27.5  Different