我有一个创建的csv文件,我想对列进行排序但是要扩展选择,否则数据不准确。示例:列A是服务器名称,列B是安装的修补程序日期,列C是安装它的人。
使用以下代码时,它会将列B排序为已安装的日期,但不会将该日期保留在其他列中。
Const xlAscending = 1
Const xlDescending = 2
Const xlYes = 1
Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open("c:\users\x\desktop\hotfixes.csv") 'insert link or URL to sharepoint document.
Set objRange = objworkbook.worksheets(1).columns(2)
objRange.Sort objrange.cells(1,1), xlAscending, , , , , , xlYes
objExcel.DisplayAlerts = False
objworkbook.save
objworkbook.close
objexcel.quit
我附加了一个链接到我使用的示例csv文件。有谁知道我需要输入什么命令来保持整个选择。
https://static.spiceworks.com/attachments/post/0017/4443/hotfixes.txt
答案 0 :(得分:1)
它完全按照您的要求进行操作 - 它对第2列进行排序。它的工作原理与打开文件时相同,手动突出显示一列然后点击一列快速排序按钮 - 它只对突出显示的范围进行排序。
尝试类似:
With objworkbook.worksheets(1)
Set objRange = .range(.columns(1),.columns(3))
objrange.sort objrange.cells(1,2), xlascending, , , , , , xlYes
End With
这会将您的排序范围扩展为包含列1 - 3,然后将其键入以对第二列进行排序。它应该可以解决您的问题。