Excel 图纸排序宏(仅移动选定的图纸)不工作
我们一直在使用下面的代码,在过去到现在为止,它似乎工作得很好……最终目标是按特定顺序对选定的工作表进行排序Excel 图纸排序宏(仅移动选定的图纸)不工作,excel,vba,Excel,Vba,我们一直在使用下面的代码,在过去到现在为止,它似乎工作得很好……最终目标是按特定顺序对选定的工作表进行排序 Sub SortWksByCell() Dim i As Integer Dim j As Integer Dim wss As Sheets Set wss = ActiveWindow.SelectedSheets For i = 1 To wss.Count For j = i + 1 To wss.Count
Sub SortWksByCell()
Dim i As Integer
Dim j As Integer
Dim wss As Sheets
Set wss = ActiveWindow.SelectedSheets
For i = 1 To wss.Count
For j = i + 1 To wss.Count
If UCase(wss(i).Range("q1")) <= _
UCase(wss(j).Range("q1")) Then
wss(j).Move Before:=wss(i)
End If
Next
Next
End Sub
Sub-SortWksByCell()
作为整数的Dim i
作为整数的Dim j
将wss设置为图纸
设置wss=ActiveWindow.SelectedSheets
对于i=1到wss.Count
对于j=i+1到wss.Count
如果UCase(wss(i).Range(“q1”)对所有工作表进行排序,而不是选定的工作表,则可以使用:
Sub SortWksByCell()
Dim i As Integer
Dim j As Integer
Dim wss As Sheets
'Set wss = ActiveWindow.SelectedSheets
Set wss = Worksheets
For i = 1 To wss.Count
For j = i + 1 To wss.Count
If UCase(wss(i).Range("q1")) <= _
UCase(wss(j).Range("q1")) Then
wss(j).Move Before:=wss(i)
End If
Next
Next
End Sub
Sub-SortWksByCell()
作为整数的Dim i
作为整数的Dim j
将wss设置为图纸
'设置wss=ActiveWindow.SelectedSheets
设置wss=工作表
对于i=1到wss.Count
对于j=i+1到wss.Count
如果UCase(wss(i).Range(“q1”))对我有效。当你运行它的时候,什么是不起作用的?它几乎像中途停止,但我没有得到任何错误。床单四处移动,但顺序毫无意义。注意:我正在处理60多张工作表。好的-我只检查了代码是否成功运行-我依赖于你问题中的第一句话,这意味着逻辑是正确的,这只是一个执行错误,但听起来好像你有一个逻辑错误(因此它从未工作过,或者只在有限的输入条件下工作过). 再次查看代码时,排序将不起作用,因为您永远不会更改wss
中工作表的位置-您只会更改它们在工作簿中的位置。好的,谢谢,我将如何解决此问题?如果所有工作表都被排序,这将相对容易,但这将是一个棘手的问题,因为您只想对选定的表进行排序。