如何使用可变工作表排序修复438运行时错误?

时间:2019-03-31 02:36:10

标签: excel vba

我正在通过窗体控件设置一个触摸解决方案,以对多个用户进行分类汇总,将信息从一个工作簿复制和粘贴到另一个工作簿。

每当我使用表单控件时,它就像梦一样,但是一旦其他用户将文件保存为与命名文件完全相同,并尝试通过表单控件运行代码时,我会收到错误消息。错误从下面的代码中的最后一条语句引发。   x.Sheets(“ APHub”)。Sort.SortFields.Add2键:=范围(_“ C2:C42524”),SortOn:= xlSortOnValues,顺序:= xlAscending,DataOption:= _ xlSortNormal

他们收到的错误是438运行时指出“对象不支持此属性或方法”

我尝试将工作表定义为一个对象,但没有对其进行更正。

Dim x As Workbook
Dim y As Workbook
xName = "Missing_Merch.xlsx"
xNamePath = ThisWorkbook.Path & "\" & xName            
Set x = Workbooks(xName)

Cells.Select
x.Sheets("APHub").Activate
Cells.Select
Cells.EntireColumn.AutoFit
Columns("F:I").Select
Selection.Cut
Columns("C:C").Select
Selection.Insert Shift:=xlToRight
Cells.Select
Selection.AutoFilter
x.Sheets("APHub").Sort.SortFields.Clear
x.Sheets("APHub").Sort.SortFields.Add2 Key:=Range( _
    "C2:C42524"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _ xlSortNormal

这应该从我的排序顺序开始,然后再进行任何必要的小计。

0 个答案:

没有答案