我可以对声明的对象进行排序吗?VBA

我可以对声明的对象进行排序吗?VBA,vba,excel,Vba,Excel,我已将工作表声明为对象,并尝试在工作表中进行排序,但遇到错误“Range类的排序方法失败”。我猜对象不能与排序函数一起使用? 但我必须将工作表声明为对象,否则“Set Spreadsheet1=newwb.Worksheets(“Sheet1”)”会遇到另一个错误……要修复它吗 Public newwb As Object Public Spreadsheet1 As Object Set newwb = CreateObject("excel.Application") Set newwb

我已将工作表声明为对象,并尝试在工作表中进行排序,但遇到错误“Range类的排序方法失败”。我猜对象不能与排序函数一起使用? 但我必须将工作表声明为对象,否则“Set Spreadsheet1=newwb.Worksheets(“Sheet1”)”会遇到另一个错误……要修复它吗

Public newwb As Object
Public Spreadsheet1 As Object

Set newwb = CreateObject("excel.Application")
Set newwb = newwb.Workbooks.Add
Set Spreadsheet1 = newwb.Worksheets("Sheet1")

Spreadsheet1.Activate

With Spreadsheet1
    .Range("A1:D100").Select
    .Range("A1:D100").Sort Header:=xlYes
End With

您必须将一些参数传递给
Sort
方法来告诉它如何排序。谢谢,在我添加了一些参数来进行排序后,它就可以工作了,比如Key1:=Spreadsheet1.Range(“A1:D100”),我很抱歉-我不认为添加键会有帮助,但我看到它确实有帮助。(我想知道为什么Excel本身不允许这样做?)