如何让QTP和Excel正确排序?
我需要按a列升序,b列升序,d列升序,e列升序,f列升序,h列升序排序。仅使用QTP,我似乎无法让Excel对数据进行正确排序 我想要的是: Table 1: | a | b | c | d | e | f | g | h | --------------------------------------------------------------------- | 1 | BE | blank | 51 stuff | 1 | BE | blank | 51 stuff | | 1 | BE | blank | 100 stuff | 1 | BE | blank | 100 stuff | | 1 | BE OF A | blank | 121 stuff | 1 | BE OF A | blank | 121 stuff | | 1 | BE OF A | blank | 200 stuff | 1 | BE OF A | blank | 200 stuff | | 2 | SEA | blank | 5 stuff | 1 | SEA | blank | 5 stuff |如何让QTP和Excel正确排序?,excel,vbscript,qtp,Excel,Vbscript,Qtp,我需要按a列升序,b列升序,d列升序,e列升序,f列升序,h列升序排序。仅使用QTP,我似乎无法让Excel对数据进行正确排序 我想要的是: Table 1: | a | b | c | d | e | f | g | h | --------------------------------------------------------------------- | 1 | BE | blank | 51 s
尝试将数据加载到对象中。您可以按如下方式对记录集进行排序:
rs.Sort = "a ASC, b ASC, d ASC, e ASC, f ASC, h ASC"
然后将排序后的数据复制到Excel或写入CSV
rs.MoveFirst
Do Until rs.EOF
For i = 0 To rs.Fields.Count - 1
'copy/write rs.Fields(i).Value
Next
rs.MoveNext
Loop
我还没有机会尝试这个。而且不会持续很长时间。我会让你知道它是否有效。同时,我也发现了排序不好的原因。有人操纵了数据,在“f”列中为“BE OF A”添加了一个额外的“隐藏”字符,我在调试时没有注意到这个字符。
'Some Code Stuff here which leads to exporting the worksheet
rangeOne = "E1:H" & totalRowCnt
Set rangeObj = worksheetOne.Range(rangeOne)
Set range1 = excel1Obj.Range("E1")
Set range2 = excel1Obj.Range("F1")
Set range3 = excel1Obj.Range("H1")
rangeObj.Sort range1, ascend1, range2, ,ascend1, range3, ,ascend1,yes1
'Save worksheet then import sorted data back into Datatable
'and add more Code Stuff here which leads to exporting the worksheet again
rangeOne = "A1:D" & totalRowCnt
Set rangeObj = worksheetOne.Range(rangeOne)
Set range1 = excel1Obj.Range("A1")
Set range2 = excel1Obj.Range("B1")
Set range3 = excel1Obj.Range("D1")
rangeObj.Sort range1, ascend1, range2, ,ascend1, range3, ,ascend1,yes1
'Save worksheet then end script
rs.Sort = "a ASC, b ASC, d ASC, e ASC, f ASC, h ASC"
rs.MoveFirst
Do Until rs.EOF
For i = 0 To rs.Fields.Count - 1
'copy/write rs.Fields(i).Value
Next
rs.MoveNext
Loop