考虑因素多一点:
Sub test()
For Each SH In Sheets
M = M + 1 '左边总数
L = L + Len(SH.Name) + 2 '左边总长度,标签间空2位
If SH.Name = "999" Then Exit For
Next
For I = 1 To M
B = B + 1 '选定工作表后先移动数
L = L - Len(Sheets(I).Name) - 2
If L <= 90 Then Exit For '假定显示标签总宽度90位
Next
For I = M To 1 Step -1
C = C + 1 '显示区左边总数
If N >= 40 Then Exit For '假定显示左边预留标签总宽度40位
N = N + Len(Sheets(I).Name) + 2
Next
ActiveWindow.ScrollWorkbookTabs Position:=xlFirst
Sheets("999").Select
ActiveWindow.ScrollWorkbookTabs Sheets:=M - B - C
End Sub