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
中工作表的位置-您只会更改它们在工作簿中的位置。好的,谢谢,我将如何解决此问题?如果所有工作表都被排序,这将相对容易,但这将是一个棘手的问题,因为您只想对选定的表进行排序。