Excel VBA隐藏工作簿时的排序工作表
问题描述:
嗨,大家好我正在使用它的工作正常的排序代码,直到它没有经过一段时间的阅读,虽然代码和测试我发现错误的原因是因为选择,据我所知只工作时,你可以选择工作表首先带有一个可见的工作表,这里出现我的问题我需要代码与隐藏工作簿一起工作,任何人都可以帮助获得代码与隐藏工作簿,因为我只知道这个代码。谢谢!Excel VBA隐藏工作簿时的排序工作表
什么这里的代码没有为B柱之后的排序,但它有第1排的头部
Set tsheet = ThisWorkbook.Sheets("Courses_tee")
ThisWorkbook.Sheets("Courses_tee").Range("B2").CurrentRegion.Select
Selection.Sort Key1:=Range("B2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
答
更改此:
ThisWorkbook.Sheets("Courses_tee").Range("B2").CurrentRegion.Select
Selection.Sort Key1:=Range("B2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
对此:
Set tsheet = ThisWorkbook.Sheets("Courses_tee")
tSheet.Range("B2").CurrentRegion.Sort Key1:=Range("B2"), _
Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
你不需要和你不应该Select
或Activate
你可以直接在对象上操作的东西。 Select
和Activate
本质上是一样的击键/鼠标点击/用户行为 - 你不需要Select
代码中的一个范围,如果你知道这是什么范围为,即:
Range("A1:A100").Select
Selection.Copy Destination:=Range("B1")
可以成为简单:
Range("A1:A100").Copy Destination:=Range("B1")
等等
更多信息:
+0
嗨大卫感谢您的代码和解释。非常感谢。 –
答
你并不需要选择
tSheet.Range("B2").CurrentRegion.Select
Selection.Sort Key1:=tSheet.Range("B2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
有没有听说过标点符号? – Aganju
嗯,我很抱歉阿甘居,我不是英语,并没有任何线索把他们放在哪里。它一定是如此难以阅读它 –