本意是想写个 vbs 统计 Name 列下的 aaa 和 bbb(仅作示例,实际不知道该列具体有多少人)在 Num 列下出现了多少个不同的数字,比如原表格为:- Num Name
- 1 aaa
- 1 aaa
- 2 bbb
- 1 aaa
- 5 bbb
- 4 bbb
- 1 aaa
- 4 aaa
- 3 aaa
- 3 bbb
复制代码 希望得到的结果是:- aaa 有 3 个不同数字:1、3、4
- bbb 有 4 个不同数字:2、3、4、5
复制代码 提供测试 xls 文件:
------------------------------------------------------------------------------------------
本想先排序以便判断,可是不知应如何按照录制的 vba 转为 vbs...
录制的 vba 宏如下:- Macro1 Macro
- 宏由 User 录制,时间: 2012/8/11
-
- ChDir "C:\tesst1"
- Workbooks.Open Filename:="C:\tesst\test.xls"
- Sheets("Sheet1").Select
- Range("A2:B11").Select
- Selection.Sort Key1:=Range("B2"), Order1:=xlAscending, Key2:=Range("A2") _
- , Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
- False, Orientation:=xlTopToBottom, SortMethod:=xlPinYin, DataOption1:= _
- xlSortNormal, DataOption2:=xlSortNormal
- End Sub
复制代码 改写的 vbs 如下:- Set oExcel= CreateObject("Excel.Application")
- oExcel.Visible = True
- With oExcel
- .Workbooks.Open "C:\tesst\test.xls"
- .Sheets("Sheet1").Select
- .Range("A2:B11").Select
- .Selection.Sort .Range("B2"),xlAscending,.Range("A2"),xlAscending,_
- xlGuess,1,False,xlTopToBottom,xlPinYin,xlSortNormal,xlSortNormal
- .Quit
- End With
复制代码 运行后产生了错误信息提示:
不知道应如何解决,盼指点 |