我有一个包含多个工作表的工作簿,目前有6个,但将来会有所增加。选项卡/工作表名称按字母顺序排列,带有"模板"最后一页。
我正在克隆模板表&使用用户指定的名称创建一个新的工作表,但是如何将其插入到工作簿中,以便按字母顺序排在正确的位置?
答案 0 :(得分:1)
我知道工作簿已经排序,并且必须按字母顺序插入新工作表,从模板工作表复制。以下代码将执行此操作:
<!-- Cordova reference, this is added to your app when it's built. -->
<script src="app/scripts.js"></script> <!-- wHERE IT WAS SUPPOSED TO GO -->
<script src="cordova.js"></script>
<script src="scripts/platformOverrides.js"></script>
<script src="scripts/index.js"></script>
答案 1 :(得分:0)
作为替代方案。要在之后对工作表进行排序,请添加新工作表:
Sub SheetSorter()
Dim ary() As String, I As Long
ReDim ary(1 To Sheets.Count)
For I = 1 To Sheets.Count
ary(I) = Sheets(I).Name
Next I
Call VBA_Sort(ary)
For Each a In ary
Sheets(a).Move after:=Sheets(Sheets.Count)
Next a
End Sub
Public Sub VBA_Sort(InOut() As String)
Dim I As Long, J As Long, Low As Long, _
Hi As Long, Temp As Variant
Low = LBound(InOut)
Hi = UBound(InOut)
J = (Hi - Low + 1) \ 2
Do While J > 0
For I = Low To Hi - J
If InOut(I) > InOut(I + J) Then
Temp = InOut(I)
InOut(I) = InOut(I + J)
InOut(I + J) = Temp
End If
Next I
For I = Hi - J To Low Step -1
If InOut(I) > InOut(I + J) Then
Temp = InOut(I)
InOut(I) = InOut(I + J)
InOut(I + J) = Temp
End If
Next I
J = J \ 2
Loop
End Sub