Определить номер листа - PullRequest
0 голосов
/ 26 января 2012

У меня есть рабочая тетрадь с листами с именами: Студент (1), Студент (2), Студент (3) и т. Д.

Я добавляю лист через vba с именем Student (4), если уже есть три листа. Как я могу определить номер последнего листа (в данном случае 3), чтобы я знал, что мне нужно назвать следующий лист Студент (4)?

Заранее спасибо

1 Ответ

1 голос
/ 26 января 2012

Код ниже отображает наибольшее текущее число студентов.Это то, что вы были после?

Предупреждение.По моему опыту, книги становятся очень сложными в использовании, так как число рабочих листов увеличивается.Я использовал один с 40 листами и нашел его кошмаром.Существует также теоретический предел 255, хотя я сказал, что Excel превысит другие ограничения, прежде чем он будет достигнут.

Option Explicit
Sub NextSheetName()

  Dim NameCrnt As String
  Dim NumCrnt As Long
  Dim NumMax As Long
  Dim Pos As Long
  Dim WkSht As Worksheet

  NumMax = 0

  For Each WkSht In Worksheets
    NameCrnt = WkSht.Name
    Pos = InStr(1, NameCrnt, "(")
    If Pos = 0 Then
      ' Code to handle non-standard name.
    Else
      NumCrnt = Val(Mid(NameCrnt, Pos + 1, 1))
      If NumMax < NumCrnt Then
        NumMax = NumCrnt
      End If
    End If
  Next

  Debug.Print "Largest current student number=" & NumMax

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...