我有一个问题,我是VB的新手。请帮帮我!
我有一个包含不同工作表的工作簿,我想根据我在“Csheet”中给出的顺序对它们进行排序。这是下面的代码,它工作正常。但我想在不同的工作簿上实现这一点。它不起作用。请帮帮我!!!!
Dim SortOrder As Variant
Dim Ndx As Long
With Worksheets("CSheet").Range("A1:A3")
For Ndx = .Cells.Count To 1 Step -1
Worksheets(.Cells(Ndx).Value).Move before:=Worksheets(1)
Next Ndx
End With
End Sub
答案 0 :(得分:1)
根据我的评论,这是一种更为简单的方法。我只是快速键入它,因此它没有经过测试。如果您遇到任何错误,请告诉我。
您的代码无法用于其他工作簿的原因是您没有指定希望工作表排序的工作簿。您需要完全限定对象。
Sub Sample()
Dim thisWb As Workbook, thatWb As Workbook
Dim ws As Worksheet
Dim i As Long
Set thisWb = ThisWorkbook
Set ws = thisWb.Sheets("CSheet")
Set thatWb = Workbooks("BlahBlah")
For i = 3 To 1 Step -1
With ws
thatWb.Worksheets(.Cells(i, 1).Value).Move _
before:=thatWb.Worksheets(1)
End With
Next i
End Sub