vba excel:对其他工作簿进行排序

vba excel:对其他工作簿进行排序,excel,vba,Excel,Vba,当excel宏未打开新工作表时,“排序”命令起作用。如果excel宏试图操作由该宏打开的工作表,则相同的排序命令不起作用 With ActiveWorkbook.Worksheets("Sheet").Sort .SetRange Range("A1:D" & replacementRow - 1) .Header = xlNo .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin

当excel宏未打开新工作表时,“排序”命令起作用。如果excel宏试图操作由该宏打开的工作表,则相同的排序命令不起作用

With ActiveWorkbook.Worksheets("Sheet").Sort
  .SetRange Range("A1:D" & replacementRow - 1)
  .Header = xlNo
  .MatchCase = False
  .Orientation = xlTopToBottom
  .SortMethod = xlPinYin
  .Apply
End With
用于打开工作簿的语句

Workbooks.Open (Cells(1, 1))

我假设您在单元格(1,1)中有一个指向工作簿的链接?如果是,请尝试:

Dim wb As Workbook
Set wb = Workbooks.Open(Cells(1, 1))

With wb.Worksheets("Sheet1").Sort
  .SetRange Range("A1:D" & replacementRow - 1)
  .Header = xlNo
  .MatchCase = False
  .Orientation = xlTopToBottom
  .SortMethod = xlPinYin
  .Apply
End With

你的问题不清楚。你在哪里有open命令?你是说你的宏与当前打开的工作簿工作表一起工作吗。但是,如果在当前工作簿窗口中打开另一个工作簿,则它不起作用?您正在使用哪些其他操作宏?您需要更改
Activeworkbook.Worksheets(“工作表”)
部分,以便它引用新工作表。如果您也共享打开新工作表的代码部分,可能会更容易提供帮助。谢谢您的建议,但这也不起作用。在最近打开的工作簿中,我正在做的所有其他事情都按预期进行。