毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> 开发语言 >> 正文

VB实时错误1004,类range的sort方法无效

更新时间:2012-7-31:  来源:毕业论文

我想利用VB程序使EXCEL文件数据按某一列进行排序,在vb中编制了如下程序,但是到最后一句就是出错,错误信息是:实时错误1004,类range的sort方法无效

    Dim   excel           As   Object
    Dim   workbook           As   Object
    Dim   worksheet           As   Object
       
    Set   excel   =   CreateObject( "excel.application ")
    Set   workbook   =   excel.WorkBooks.Open( "C:\电话簿.xls ")
    Set   worksheet   =   workbook.ActiveSheet
   
    worksheet.Range( "A1:B32 ").Sort   Key1:=worksheet.Range( "A1 "),Order1:=xlAscending,   Header:=xlGuess

如果把最后一句改成worksheet.Range( "A1:B32 ").Sort   Key1:=worksheet.Range( "A1 ")是可以的,但这样标题行也当作数据一起进行排序

请问专家是什么原因?另外,我如果要用VB来检测EXCEL表格是按照哪一列进行排序的,又该如何编程?

worksheet.Range( "A1:B32 ").Sort(Key1:=worksheet.Range( "A1 "),Order1:=xlAscending,   Header:=xlGuess)
在后面sort后面加个括号试下。

1、改成worksheet.Range( "A2:B32 ").Sort   Key1:=worksheet.Range( "A1 "),这样标题行就不会当作数据一起进行排序啦

2、用VB判断EXCEL哪一列排序,你可能需要遍历整个表,先获得列数和行数,外循环为列数,内循环为行数,内循环中判断当前行数据是否总是大于等于上一行(或者判断当前行数据是否总是小于等于上一行),如果符合这个条件,该列为正序或逆序,此时外循环可终止,如果没有列符合以上条件,则该表没有哪一列是排序的。

'对sheet1表的1到5行按A列进行升序排序(降序排序把最后的参数1改为2)
'如果有标题行,把("A1")改成("A2")
xlsWs.Range("A1:B5").Sort xlsWs.Range("A1"), 2

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。