[英]Excel VBA Selecting Range in different workbook in order to sort
首先让我感谢stackoverflow上的所有人。 在搜索Excel VBA问题的解决方案时,Google已多次带领我进入该论坛,通常我会在这里找到所需的信息。 那就是
我正在构建一个宏或一组宏,这些宏或一组宏从一个扩展表中获取选定的数据,并将其复制到新创建的工作簿中的另一个工作表中。 我只剩下对特定范围进行排序的最后一个难题,当尝试在我想要对其进行排序的新工作簿中选择特定范围时,始终遇到运行时错误'1004'。 我已经尝试使用类似于下面示例的代码以及使用Cells来定义范围的多种解决方案。 目前,我在搜索解决方案时浏览过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)是范围=“ B”&SortStart的第一行的第一个单元格
SortRange.Cells(1,10)是范围=“ K”&SortStart的第一行的第十个单元格
我希望这能奏效(对我而言,它能奏效)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.