Excel VBAselect范围在不同的工作簿中进行sorting

首先让我感谢大家在stackoverflow。 在我searchExcel VBA问题的解决scheme时,Google已经多次带领我去这个论坛,而且我通常会在这里find我需要的东西。 这就是说,

我正在构build一个macros或一组macros的过程,这些macros从一个电子表格中选取数据并将其复制到新创build的工作簿中的另一个工作表中。 当我尝试在新的工作簿中select一个特定的范围,然后我想要sorting时,我正在sorting特定范围的难题的最后一部分,并不断得到运行时错误“1004”。 我已经尝试了使用类似于下面的示例的代码以及使用单元格来定义范围的多个解决scheme。 在这个时候,我在search解决scheme的时候已经使用Google了。

With nfmBook.Worksheets("Reading NFM") nfmBook.Sheets("Reading NFM").Activate nfmBook.Sheets("Reading NFM").Select nfmBook.Sheets("Reading NFM").Range("B" & sortStart & ":K" & sortEnd).Select Selection.Sort Key1:=Range("B"), Order1:=xlAscending, Key2:=Range("K") _ , Order2:=xlAscending, Header:=xlNo, OrderCustom:=1, MatchCase:=False, _ Orientation:=xlTopToBottom, DataOption1:=xlSortTextAsNumbers, DataOption2 _ :=xlSortTextAsNumbers Cells(nfmRow, 11).Select ActiveCell.FormulaR1C1 = "=SUM(Cells(sortStart,11),Cells(sortEnd,11))" End With 

你试过这种方法吗? (更新)

 Set SortRange = nfmBook.Sheets("Reading NFM").Range("B" & SortStart & ":K" & SortEnd) SortRange.Sort Key1:=SortRange.Cells(1, 1), Order1:=xlAscending, _ Key2:=SortRange.Cells(1, 10), Order2:=xlAscending, Header:=xlNo, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _ DataOption1:=xlSortTextAsNumbers, DataOption2:=xlSortTextAsNumbers 

SortRange.Cells(1,1)是range =“B”&SortStart的第一行的第一个单元格

SortRange.Cells(1,10)是范围=“K”&SortStart的第一行的第十个单元格

我希望这个工程(对我来说,它的工作)