我试图根据每个工作表中的单元格值对工作表进行排序。我遇到困难的主要领域是只将这一排序应用于选定的纸张。下面是我到目前为止的情况。对VBA来说很新
Sub SortWksByCell()
Dim i As Integer
Dim j As Integer
For i = 1 To ActiveWindow.SelectedSheets.Count
For j = i + 1 To ActiveWindow.SelectedSheets.Count
If UCase(Worksheets(i).Range("q1")) <= _
UCase(Worksheets(j).Range("q1")) Then
Worksheets(j).Move Before:=Worksheets(i)
End If
Next
Next
End Sub发布于 2016-10-11 18:07:00
每当您Move一个工作表时,您就失去了工作表的选择,所以在开始排序之前,您必须修复它。
Option Explicit
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 Subhttps://stackoverflow.com/questions/39983393
复制相似问题