powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Помогите!! Ошибка в VBA
4 сообщений из 4, страница 1 из 1
Помогите!! Ошибка в VBA
    #34990584
renaton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
здраствуйте уважаемые форумчане.....надо тут помочь......)
в MS Excel при закрытии хочу сделать сортировку листов по возрастанию. Все листы в Книге имеют такие названия "0 ч." "1 ч." ......... "23 ч."
Пытаюсь это сделать вот таким макросом
If Sheets.Count > 1 Then
For i = 0 To Sheets.Count - 1
S = Str(i) + " " + "ч."
Sheets(S).Select
'тут код который осуществляет перестановку.....
Next i
End If

Но выходит такая ошибка 'Runtime error 9' Subscript out of range
Что делать???
Помогите плиз......
...
Рейтинг: 0 / 0
Помогите!! Ошибка в VBA
    #34990599
renaton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
If Sheets.Count >  1  Then
For i =  0  To Sheets.Count -  1 
S = Str(i) + " " + "ч."
Sheets(S).Select
'тут код который осуществляет перестановку.....
Next i
End If
Кстате ошибка вылезает в строчке
Код: plaintext
Sheets(S).Select
...
Рейтинг: 0 / 0
Помогите!! Ошибка в VBA
    #34990666
mari_karo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Читайте хелп. :)
When numbers are converted to strings, a leading space is always reserved for the sign of number. If number is positive, the returned string contains a leading space and the plus sign is implied.

Use the Format function to convert numeric values you want formatted as dates, times, or currency or in other user-defined formats. Unlike Str, the Format function doesn't include a leading space for the sign of number.

То бишь, у вас S после
Код: plaintext
 S = Str( 1 ) + " " + "ч."
равняется
Код: plaintext
" 1 ч."
с этим должно все работать.
Код: plaintext
S = Format(i) + " " + "ч."
...
Рейтинг: 0 / 0
Помогите!! Ошибка в VBA
    #34991197
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может все-таки листы нумеруются с 1, а ен с 0?
Код: plaintext
For i =  1  To Sheets.Count


I Have Nine Lives You Have One Only
THINK!
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Помогите!! Ошибка в VBA
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]