gpt4 book ai didi

excel - QTP/UFT : Comparing two excelsheets easy and performant using VB

转载 作者:行者123 更新时间:2023-12-04 22:06:47 26 4
gpt4 key购买 nike

我想在 VB 中比较 2 个 Excel 表格。
我知道如何在 QTP/UFT 中打开这些表格
我知道如何获取所有单元格的范围。
但我不知道比较这两张纸(范围)的有效方法。

如果第二张表中的值与第一张表中的相应值不同,则应将其插入第二张表的相应单元格中。
我可以串行解析所有单元格以与相应的单元格进行比较,但这不是很高效。

我想通过以下方式进行比较:

If not (sheet1.range() equals sheet2.range()) then
if not (Sheet1.range.Row equals sheet2.range.row) then
if not (Sheet1.range.Row.cells equals Sheet2.range.Row.cells) then
Sheet2.range.Row.cells.value = Sheet1.range.Row.cells.value

所有值都可以在不同的行和单元格中,但在第一列和列的标题中都有相应的 ID。
因此,我必须在两个工作表中解析正确的行 ID,并在两个列标题中解析相应的列。
我不想在工作表中使用公式,因为我必须以编程方式进行比较。

如果 Excel 中有我可以使用的函数、方法或属性,有人可以给我一个提示吗?
提前致谢

最佳答案

希望它可以帮助你。
它进行比较,如果在第二张表中与第一张表相比有任何变化,它将更新单元格值并以黄色突出显示。

Set objMyExcel = CreateObject(“Excel.Application”)
objExcel.Visible = False

Set objMyDataExcel1= objMyExcel.Workbooks.Open(“C:\Data1.xls”)
Set objMyDataExcel2= objMyExcel.Workbooks.Open(“C:\Data2.xls”)

Set objMyWorksheet1= objMyDataExcel1.Worksheets(1)
Set objMyWorksheet2= objMyDataExcel2.Worksheets(1)

For Each cell In objMyWorksheet1.UsedRange

If cell.Value <> objMyWorksheet2.Range(cell.Address).Value Then

objMyWorksheet2.Range(cell.Address).Value = cell.Value
cell.Interior.ColorIndex = 6

Else

cell.Interior.ColorIndex = 0

End If

Next

Set objMyExcel = Nothing

如果你想查看执行时间的 excel 然后设置
objExcel.Visible = True

关于excel - QTP/UFT : Comparing two excelsheets easy and performant using VB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19621493/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com