VBA错误无效使用属性

时间:2017-08-17 18:14:36

标签: excel vba

这肯定被要求但我不确定答案如何适用于我的问题,所以它仍然没有得到解决。当我点击某个电子表格并且能够执行此操作直到我添加第四个新代码时,我希望调用某些代码。现在,当我单击工作表2,下面带有代码的工作表时,它会突出显示Sub Worksheet_Activate()并显示无效的属性使用。

Sub Worksheet_Activate()

Call VBAProject.Module1.ComplexCopyPust
Call VBAProject.Module2.ComplexCopyPust
Call SetPrintArea
Call Sort

End Sub

我只添加了呼叫排序。它事先与所有其他代码一起使用。

调用下面的排序代码。我使用记录宏来创建它。

Sub Sort()
'
' SortNumberLetter Macro
'

 On Error Resume Next
 'Finds last row of content
  ALastFundRow = Columns("C").Find("*", SearchDirection:=xlPrevious, 
  SearchOrder:=xlByRows, LookIn:=xlValues).Row


  '
On Error Resume Next
Range("A8:Q" & ALastFundRow).Select
ActiveWindow.SmallScroll Down:=-462
ActiveWorkbook.Worksheets("WIRE SCHEDULE").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("WIRE SCHEDULE").Sort.SortFields.Add Key:=Range( _
    "A8:A" & ALastFundRow), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
    xlSortTextAsNumbers
ActiveWorkbook.Worksheets("WIRE SCHEDULE").Sort.SortFields.Add Key:=Range( _
    "C8:C" & ALastFundRow), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
    xlSortNormal
With ActiveWorkbook.Worksheets("WIRE SCHEDULE").Sort
    .SetRange Range("A8:Q" & ALastFundRow)
    .Header = xlGuess
    .MatchCase = False
    .Orientation = xlTopToBottom
    .SortMethod = xlPinYin
    .Apply
End With
End Sub

一切都有帮助!

1 个答案:

答案 0 :(得分:0)

您需要使用其所在的模块名称(Sort)来限定VBAProject.Module1.Sort,或者不使用Sort作为子例程的名称(因为VBA令人困惑)使用代码所关联的工作表的Sort属性。)

强烈建议更改子程序名称。 (也许将子例程名称从Sort更改为SortNumberLetter。)