2014-07-13 65 views
0

如何使用HTA中excel Marco记录器记录的以下代码?运行vba从HTA排序excel

Sub Macro1() 
    ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear 
    ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:= _ 
     Range("M2:M9"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _ 
     xlSortNormal 
    ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:= _ 
     Range("B2:B9"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _ 
     xlSortNormal 
    With ActiveWorkbook.Worksheets("Sheet1").Sort 
     .SetRange Range("A1:M9") 
     .Header = xlYes 
     .MatchCase = False 
     .Orientation = xlTopToBottom 
     .SortMethod = xlPinYin 
     .Apply 
    End With 
End Sub 

我可以定义的范围内,表名称等。但不能设置的属性来排序:(

感谢, 阿南德

+1

你尝试过什么,什么发生了什么?添加当前的(vbscript?javascript?)代码并描述你所得到的错误会很有用。首先,你不能使用像xlYes这样的特定于Excel的常量,也不要在你的HTA脚本中定义它们代码或用它们的实际值替换它们(您可以通过Excel V找到它们) B编辑器对象浏览器) –

+0

错误说无效的属性分配或无效的数据 – Anand

+0

使用断点和找到哪一行发生错误 – hnk

回答

0
Set objRange1 = objExcel.Range("M1") Set objRange2 = objExcel.Range("A1") objRange.Sort objRange1, xlAscending, objRange2, , xlAscending, , , xlYes