首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

怎么利用VB程序使EXCEL文件数据按某一列进行排序

2012-01-13 
如何利用VB程序使EXCEL文件数据按某一列进行排序我想利用VB程序使EXCEL文件数据按某一列进行排序,在vb中编

如何利用VB程序使EXCEL文件数据按某一列进行排序
我想利用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表格是按照哪一列进行排序的,又该如何编程?

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

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

以上供参考

热点排行