【发布时间】:2022-01-25 01:13:34
【问题描述】:
在我的主宏中,我创建了一个按钮:
Dim btn As Button
Set btn = WS1.Buttons.Add(Range("h2").Left, Range("h2").Top, Range("h2").Width, Range("h2").Height)
With btn
.OnAction = "File_01.Order_Ranking"
.Caption = "Order Ranking"
.Name = "Order_Ranking"
End With
然后我创建了链接到按钮的 Order_Ranking 宏:
Sub Order_Ranking()
Range("B2:E18").Sort Key1:=Range("D2"), _
Order1:=xlAscending, _
Header:=xlYes
End Sub
当我按下按钮时,我收到没有描述的错误 400。
有什么建议吗?
【问题讨论】:
-
如果我将
.OnAction = "File_01.Order_Ranking"更改为.OnAction = "Order_Ranking",对我有用。主代码是否检查按钮是否已创建?每次您运行该代码时,它都会在旧按钮之上创建另一个按钮 - 您不会看到它们,因为它们完美地叠放在一起。 -
如果我删除“File_01”,我会收到错误消息“无法运行宏:此工作簿中可能没有该宏,或者所有宏都可能被禁用”。如果我在 order_ranking 宏中注释排名代码行并插入打印值操作,它可以正常工作。
-
这与your previous question中的排序问题不一样吗?使用工作表限定范围
Range("B2:E18")。 -
没错,顺便说一句,我刚刚使用
Worksheets("COPPIE + RANKING").Range("D2").Sort Key1:=Worksheets("COPPIE + RANKING").Range("D2"), Order1:=xlDescending, Header:=xlYes解决了