Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Сортировка листов - Мир MS Excel

Старая форма входа
  • Страница 1 из 3
  • 1
  • 2
  • 3
  • »
Модератор форума: китин, _Boroda_  
Сортировка листов
Мур Дата: Четверг, 13.12.2012, 10:11 | Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 436
Репутация: 19 ±
Замечаний: 0% ±

Приветствую участников!
Дано: книга с листам (150 листов)
В окне Project-VBA они расположенны так:
Лист 1 (Словарь)
Лист 10 (Шаблон)
Лист 100 (куку(123))
Лист 101 (куку(222))
и т.д.
Возможно ли отсортировать их:
Лист 1 (Словарь)
Лист 2 (Шаблон)
Лист 3 (куку(1))
Лист 4 (куку(2))

Возможна ли вообще сортировка в окне Project-VBA?
Пытался подсмотреть в похожих темах, и не нашел, а может не разобрался.
Заранее благодарен
 
Ответить
СообщениеПриветствую участников!
Дано: книга с листам (150 листов)
В окне Project-VBA они расположенны так:
Лист 1 (Словарь)
Лист 10 (Шаблон)
Лист 100 (куку(123))
Лист 101 (куку(222))
и т.д.
Возможно ли отсортировать их:
Лист 1 (Словарь)
Лист 2 (Шаблон)
Лист 3 (куку(1))
Лист 4 (куку(2))

Возможна ли вообще сортировка в окне Project-VBA?
Пытался подсмотреть в похожих темах, и не нашел, а может не разобрался.
Заранее благодарен

Автор - Мур
Дата добавления - 13.12.2012 в 10:11
Матраскин Дата: Четверг, 13.12.2012, 10:42 | Сообщение № 2
Группа: Друзья
Ранг: Обитатель
Сообщений: 375
Репутация: 81 ±
Замечаний: 0% ±

20xx
Мур, ну для начала это не сортировка)) а вообще изменение название листов конечно же возможно, вручную с помощью проперти (F4)


в интернете опять кто-то не прав
 
Ответить
СообщениеМур, ну для начала это не сортировка)) а вообще изменение название листов конечно же возможно, вручную с помощью проперти (F4)

Автор - Матраскин
Дата добавления - 13.12.2012 в 10:42
AlexM Дата: Четверг, 13.12.2012, 11:15 | Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация: 1129 ±
Замечаний: 0% ±

Excel 2003
А если так
[vba]
Code
Sub Macros()
Dim i As Long, j As Long, jj As Long
WS_count = ActiveWorkbook.Worksheets.Count
jj = 0
For i = 3 To WS_count
For j = 3 + jj To WS_count
nj = CInt(Mid(Worksheets(j).Name, 6, Len(Worksheets(j).Name) - 6))
ni = CInt(Mid(Worksheets(i).Name, 6, Len(Worksheets(i).Name) - 6))
If nj < ni Then
Worksheets(j).Move Before:=Worksheets(i)
End If
Next j
jj = jj + 1
Next i
End Sub
[/vba]
К сообщению приложен файл: 7963694.xls (40.0 Kb)



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.


Сообщение отредактировал AlexM - Четверг, 13.12.2012, 11:24
 
Ответить
СообщениеА если так
[vba]
Code
Sub Macros()
Dim i As Long, j As Long, jj As Long
WS_count = ActiveWorkbook.Worksheets.Count
jj = 0
For i = 3 To WS_count
For j = 3 + jj To WS_count
nj = CInt(Mid(Worksheets(j).Name, 6, Len(Worksheets(j).Name) - 6))
ni = CInt(Mid(Worksheets(i).Name, 6, Len(Worksheets(i).Name) - 6))
If nj < ni Then
Worksheets(j).Move Before:=Worksheets(i)
End If
Next j
jj = jj + 1
Next i
End Sub
[/vba]

Автор - AlexM
Дата добавления - 13.12.2012 в 11:15
Мур Дата: Четверг, 13.12.2012, 11:49 | Сообщение № 4
Группа: Проверенные
Ранг: Обитатель
Сообщений: 436
Репутация: 19 ±
Замечаний: 0% ±

Спасибо AlexM, Матраскин, сейчас посмотрю.
 
Ответить
СообщениеСпасибо AlexM, Матраскин, сейчас посмотрю.

Автор - Мур
Дата добавления - 13.12.2012 в 11:49
Мур Дата: Четверг, 13.12.2012, 12:00 | Сообщение № 5
Группа: Проверенные
Ранг: Обитатель
Сообщений: 436
Репутация: 19 ±
Замечаний: 0% ±

AlexM, посмотрел, спасибо за помощь.
Подходит для мойх целей, жаль что нет возможности в окне Project-VBA выстроить листы.
Мне бы еще закомментировать все это. Если, не трудно, конечно.
 
Ответить
СообщениеAlexM, посмотрел, спасибо за помощь.
Подходит для мойх целей, жаль что нет возможности в окне Project-VBA выстроить листы.
Мне бы еще закомментировать все это. Если, не трудно, конечно.

Автор - Мур
Дата добавления - 13.12.2012 в 12:00
AlexM Дата: Четверг, 13.12.2012, 12:11 | Сообщение № 6
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация: 1129 ±
Замечаний: 0% ±

Excel 2003
Quote (Мур)
Мне бы еще закомментировать все это.

В смысле, для чего каждая строка в коде?



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
Сообщение
Quote (Мур)
Мне бы еще закомментировать все это.

В смысле, для чего каждая строка в коде?

Автор - AlexM
Дата добавления - 13.12.2012 в 12:11
Serge_007 Дата: Четверг, 13.12.2012, 12:30 | Сообщение № 7
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Quote (Мур)
закомментировать все это

закомментировать - это НЕ использовать в коде
Видимо надо прокомментировать? smile


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Quote (Мур)
закомментировать все это

закомментировать - это НЕ использовать в коде
Видимо надо прокомментировать? smile

Автор - Serge_007
Дата добавления - 13.12.2012 в 12:30
Мур Дата: Четверг, 13.12.2012, 12:32 | Сообщение № 8
Группа: Проверенные
Ранг: Обитатель
Сообщений: 436
Репутация: 19 ±
Замечаний: 0% ±

В общем, да.
Мне надо понимать откуда что берется и куда девается (как работает).
 
Ответить
СообщениеВ общем, да.
Мне надо понимать откуда что берется и куда девается (как работает).

Автор - Мур
Дата добавления - 13.12.2012 в 12:32
Мур Дата: Четверг, 13.12.2012, 12:33 | Сообщение № 9
Группа: Проверенные
Ранг: Обитатель
Сообщений: 436
Репутация: 19 ±
Замечаний: 0% ±

Serge_007, да именно так. smile


Сообщение отредактировал Мур - Четверг, 13.12.2012, 12:33
 
Ответить
СообщениеSerge_007, да именно так. smile

Автор - Мур
Дата добавления - 13.12.2012 в 12:33
AlexM Дата: Четверг, 13.12.2012, 12:48 | Сообщение № 10
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация: 1129 ±
Замечаний: 0% ±

Excel 2003
[vba]
Code
Sub Macros()  
Dim i As Long, j As Long, jj As Long ' описание переменных
WS_count = ActiveWorkbook.Worksheets.Count ' определение количества листов в книге
jj = 0 ' эта строка необязательна, так как при объявлении переменной она равна нулю
For i = 3 To WS_count ' цикл по листам начиная с 3-го
For j = 3 + jj To WS_count ' цикл по листам начиная с 3-го
nj = CInt(Mid(Worksheets(j).Name, 6, Len(Worksheets(j).Name) - 6)) ' выделение номера из названия листа
ni = CInt(Mid(Worksheets(i).Name, 6, Len(Worksheets(i).Name) - 6)) ' выделение номера из названия листа
If nj < ni Then ' если условие выполняется ...
Worksheets(j).Move Before:=Worksheets(i) ' перемещаем лист с меньшим номером вперед.
End If
Next j
jj = jj + 1 ' переменная нужна для того, чтобы не обрабатывать уже перемещенные листы
Next i
End Sub
[/vba]

Код можно немного сократить
[vba]
Code
jj = 0 'убрать строку
' три строки условия
If nj < ni Then
Worksheets(j).Move Before:=Worksheets(i)  
End If
' заменить одной
If nj < ni Then Worksheets(j).Move Before:=Worksheets(i)  
[/vba]



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
Сообщение[vba]
Code
Sub Macros()  
Dim i As Long, j As Long, jj As Long ' описание переменных
WS_count = ActiveWorkbook.Worksheets.Count ' определение количества листов в книге
jj = 0 ' эта строка необязательна, так как при объявлении переменной она равна нулю
For i = 3 To WS_count ' цикл по листам начиная с 3-го
For j = 3 + jj To WS_count ' цикл по листам начиная с 3-го
nj = CInt(Mid(Worksheets(j).Name, 6, Len(Worksheets(j).Name) - 6)) ' выделение номера из названия листа
ni = CInt(Mid(Worksheets(i).Name, 6, Len(Worksheets(i).Name) - 6)) ' выделение номера из названия листа
If nj < ni Then ' если условие выполняется ...
Worksheets(j).Move Before:=Worksheets(i) ' перемещаем лист с меньшим номером вперед.
End If
Next j
jj = jj + 1 ' переменная нужна для того, чтобы не обрабатывать уже перемещенные листы
Next i
End Sub
[/vba]

Код можно немного сократить
[vba]
Code
jj = 0 'убрать строку
' три строки условия
If nj < ni Then
Worksheets(j).Move Before:=Worksheets(i)  
End If
' заменить одной
If nj < ni Then Worksheets(j).Move Before:=Worksheets(i)  
[/vba]

Автор - AlexM
Дата добавления - 13.12.2012 в 12:48
Alex_ST Дата: Четверг, 13.12.2012, 13:06 | Сообщение № 11
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3213
Репутация: 609 ±
Замечаний: 0% ±

2003
Quote (Мур)
Возможна ли вообще сортировка в окне Project-VBA?
Мурат,
в окне браузера VBE листы и вообще все объекты автоматически сортируются по их ИМЕНИ (CodeName), задаваемому в первой строке листа свойств объекта (F4), обозванной там как (Name)
Программно изменить CodeName достаточно сложно (хотя и возможно - я где-то видел как, кажется EducatedFool, это делал в примерах).
А вот ручками изменить в свойствах - элементарно (только, конечно, не для 150 листов smile ).
К стати, в своих проектах я иногда использую ручное изменение CodeName именно для того, чтобы код, "заточенный" под страницу, продолжал работать даже если какой-нибудь шибко дюже грамотный пользователь переименует ярлык (изменит Name) нужного для расчётов листа.
Обращение к такому нестандартно переименованному листу по его CodeName даже проще, чем обращение по его Name (имени, написанному на ярлыке листа).
Например, Вы листу, отображавшемуся в VBE как Лист100(Исходные данные), изменили CodeName на MySheet.
После этого в броузере этот лист "всплывёт" над всеми листами, т.к. получит название MySheet(Исходные данные).
Если ранее обращаться из прочих модулей проекта к диапазону, например, А1 этого листа нужно было по Name как [vba]
Code
WorkSheets("Исходные данные").Range("A1")
[/vba] или по его CodeName как [vba]
Code
Лист100.Range("A1")
[/vba] (приходилось менять рус-лат при вводе), то после переименования Вы сможете обращаться к листу как [vba]
Code
MySheet.Range("A1")
[/vba]



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Четверг, 13.12.2012, 13:14
 
Ответить
Сообщение
Quote (Мур)
Возможна ли вообще сортировка в окне Project-VBA?
Мурат,
в окне браузера VBE листы и вообще все объекты автоматически сортируются по их ИМЕНИ (CodeName), задаваемому в первой строке листа свойств объекта (F4), обозванной там как (Name)
Программно изменить CodeName достаточно сложно (хотя и возможно - я где-то видел как, кажется EducatedFool, это делал в примерах).
А вот ручками изменить в свойствах - элементарно (только, конечно, не для 150 листов smile ).
К стати, в своих проектах я иногда использую ручное изменение CodeName именно для того, чтобы код, "заточенный" под страницу, продолжал работать даже если какой-нибудь шибко дюже грамотный пользователь переименует ярлык (изменит Name) нужного для расчётов листа.
Обращение к такому нестандартно переименованному листу по его CodeName даже проще, чем обращение по его Name (имени, написанному на ярлыке листа).
Например, Вы листу, отображавшемуся в VBE как Лист100(Исходные данные), изменили CodeName на MySheet.
После этого в броузере этот лист "всплывёт" над всеми листами, т.к. получит название MySheet(Исходные данные).
Если ранее обращаться из прочих модулей проекта к диапазону, например, А1 этого листа нужно было по Name как [vba]
Code
WorkSheets("Исходные данные").Range("A1")
[/vba] или по его CodeName как [vba]
Code
Лист100.Range("A1")
[/vba] (приходилось менять рус-лат при вводе), то после переименования Вы сможете обращаться к листу как [vba]
Code
MySheet.Range("A1")
[/vba]

Автор - Alex_ST
Дата добавления - 13.12.2012 в 13:06
Мур Дата: Четверг, 13.12.2012, 14:24 | Сообщение № 12
Группа: Проверенные
Ранг: Обитатель
Сообщений: 436
Репутация: 19 ±
Замечаний: 0% ±

Alex_ST, спасибо, я почерпнул не мало из Ваших объяснений!
 
Ответить
СообщениеAlex_ST, спасибо, я почерпнул не мало из Ваших объяснений!

Автор - Мур
Дата добавления - 13.12.2012 в 14:24
Мур Дата: Четверг, 13.12.2012, 14:26 | Сообщение № 13
Группа: Проверенные
Ранг: Обитатель
Сообщений: 436
Репутация: 19 ±
Замечаний: 0% ±

AlexM, большое спасибо.
Попробую в рабочем материале, если будут вопросы, напишу в этой же теме.
 
Ответить
СообщениеAlexM, большое спасибо.
Попробую в рабочем материале, если будут вопросы, напишу в этой же теме.

Автор - Мур
Дата добавления - 13.12.2012 в 14:26
Alex_ST Дата: Четверг, 13.12.2012, 14:38 | Сообщение № 14
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3213
Репутация: 609 ±
Замечаний: 0% ±

2003
Если же нужно просто отсортировать ярлыки листов, то я пользуюсь таким кодом: [vba]
Code
Sub СОРТИРОВАТЬ_ЛИСТЫ()   ' сортировка листов в активной книге (не сортирует скрытые листы)
      If ActiveWorkbook.ProtectStructure Then _
         MsgBox "Структура книги " & ActiveWorkbook.Name & " защищена. Сортировка листов невозможна.", vbCritical: Exit Sub
      On Error Resume Next   ' ошибка может возникнуть при наличии скрытых листов
      Dim i%, j%
      Application.ScreenUpdating = False: Application.EnableEvents = False
      With ActiveWorkbook
          For i = 1 To .Sheets.Count - 1
              For j = i + 1 To .Sheets.Count
                  If UCase(.Sheets(i).Name) > UCase(.Sheets(j).Name) Then .Sheets(j).Move Before:=.Sheets(i)
              Next j
          Next i
      End With
      Application.EnableEvents = True: Application.ScreenUpdating = True
End Sub
[/vba]
но он сортирует именно ярлыки листов. При этом в браузере проектов VBE они останутся в прежнем порядке - с сортировкой по .CodeName



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Четверг, 13.12.2012, 14:38
 
Ответить
СообщениеЕсли же нужно просто отсортировать ярлыки листов, то я пользуюсь таким кодом: [vba]
Code
Sub СОРТИРОВАТЬ_ЛИСТЫ()   ' сортировка листов в активной книге (не сортирует скрытые листы)
      If ActiveWorkbook.ProtectStructure Then _
         MsgBox "Структура книги " & ActiveWorkbook.Name & " защищена. Сортировка листов невозможна.", vbCritical: Exit Sub
      On Error Resume Next   ' ошибка может возникнуть при наличии скрытых листов
      Dim i%, j%
      Application.ScreenUpdating = False: Application.EnableEvents = False
      With ActiveWorkbook
          For i = 1 To .Sheets.Count - 1
              For j = i + 1 To .Sheets.Count
                  If UCase(.Sheets(i).Name) > UCase(.Sheets(j).Name) Then .Sheets(j).Move Before:=.Sheets(i)
              Next j
          Next i
      End With
      Application.EnableEvents = True: Application.ScreenUpdating = True
End Sub
[/vba]
но он сортирует именно ярлыки листов. При этом в браузере проектов VBE они останутся в прежнем порядке - с сортировкой по .CodeName

Автор - Alex_ST
Дата добавления - 13.12.2012 в 14:38
Мур Дата: Четверг, 13.12.2012, 14:42 | Сообщение № 15
Группа: Проверенные
Ранг: Обитатель
Сообщений: 436
Репутация: 19 ±
Замечаний: 0% ±

Alex_ST, спаисбо еще раз, поэксперементирую, посмотрю, что происходит со скрытыми листами.
 
Ответить
СообщениеAlex_ST, спаисбо еще раз, поэксперементирую, посмотрю, что происходит со скрытыми листами.

Автор - Мур
Дата добавления - 13.12.2012 в 14:42
Alex_ST Дата: Четверг, 13.12.2012, 14:44 | Сообщение № 16
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3213
Репутация: 609 ±
Замечаний: 0% ±

2003
Если нужно сортировать ещё и скрытые листы, то[vba]
Code
Sub СОРТИРОВАТЬ_ВСЕ_ЛИСТЫ()   ' сортировка листов в активной книге (сортирует даже скрытые листы)
     If ActiveWorkbook.ProtectStructure Then _
        MsgBox "Структура книги " & ActiveWorkbook.Name & " защищена. Сортировка листов невозможна.", vbCritical: Exit Sub
     Application.ScreenUpdating = False: Application.EnableEvents = False
     Dim iSht As Worksheet, oDict As Object, i%, j%
     Set oDict = CreateObject("Scripting.Dictionary")
     For Each iSht In ActiveWorkbook.Sheets   ' запомнить состояние видимости каждого из листов и сделать все видимыми
         oDict.Item(iSht.Name) = iSht.Visible: iSht.Visible = True
     Next
     With ActiveWorkbook   ' сортировка видимых листов
         For i = 1 To .Sheets.Count - 1
             For j = i + 1 To .Sheets.Count
                 If UCase(.Sheets(i).Name) > UCase(.Sheets(j).Name) Then .Sheets(j).Move Before:=.Sheets(i)
             Next j
         Next i
     End With
     For Each iSht In ActiveWorkbook.Sheets   ' восстановить исходное состояние видимости каждого из листов
         iSht.Visible = oDict.Item(iSht.Name)
     Next
     Application.EnableEvents = True: Application.ScreenUpdating = True
End Sub
[/vba]



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеЕсли нужно сортировать ещё и скрытые листы, то[vba]
Code
Sub СОРТИРОВАТЬ_ВСЕ_ЛИСТЫ()   ' сортировка листов в активной книге (сортирует даже скрытые листы)
     If ActiveWorkbook.ProtectStructure Then _
        MsgBox "Структура книги " & ActiveWorkbook.Name & " защищена. Сортировка листов невозможна.", vbCritical: Exit Sub
     Application.ScreenUpdating = False: Application.EnableEvents = False
     Dim iSht As Worksheet, oDict As Object, i%, j%
     Set oDict = CreateObject("Scripting.Dictionary")
     For Each iSht In ActiveWorkbook.Sheets   ' запомнить состояние видимости каждого из листов и сделать все видимыми
         oDict.Item(iSht.Name) = iSht.Visible: iSht.Visible = True
     Next
     With ActiveWorkbook   ' сортировка видимых листов
         For i = 1 To .Sheets.Count - 1
             For j = i + 1 To .Sheets.Count
                 If UCase(.Sheets(i).Name) > UCase(.Sheets(j).Name) Then .Sheets(j).Move Before:=.Sheets(i)
             Next j
         Next i
     End With
     For Each iSht In ActiveWorkbook.Sheets   ' восстановить исходное состояние видимости каждого из листов
         iSht.Visible = oDict.Item(iSht.Name)
     Next
     Application.EnableEvents = True: Application.ScreenUpdating = True
End Sub
[/vba]

Автор - Alex_ST
Дата добавления - 13.12.2012 в 14:44
Саня Дата: Четверг, 13.12.2012, 16:15 | Сообщение № 17
Группа: Друзья
Ранг: Ветеран
Сообщений: 1068
Репутация: 560 ±
Замечаний: 0% ±

XL 2016
сортируешь листы и
[vba]
Code
    With ActiveWorkbook
           For Each sh In .Sheets
               i = i + 1
               .VBProject.VBComponents(sh.CodeName).Name = "sh" & i    '& "_" & sh.Name
           Next
       End With
[/vba]

! необходимо:
прицепить ссылку Microsoft Visual Basic for Applications Extensibility 5.3 (Tools/References...)
доверить доступ к объектной модели проектов:
К сообщению приложен файл: 9974234.jpg (96.6 Kb)
 
Ответить
Сообщениесортируешь листы и
[vba]
Code
    With ActiveWorkbook
           For Each sh In .Sheets
               i = i + 1
               .VBProject.VBComponents(sh.CodeName).Name = "sh" & i    '& "_" & sh.Name
           Next
       End With
[/vba]

! необходимо:
прицепить ссылку Microsoft Visual Basic for Applications Extensibility 5.3 (Tools/References...)
доверить доступ к объектной модели проектов:

Автор - Саня
Дата добавления - 13.12.2012 в 16:15
Мур Дата: Четверг, 13.12.2012, 16:29 | Сообщение № 18
Группа: Проверенные
Ранг: Обитатель
Сообщений: 436
Репутация: 19 ±
Замечаний: 0% ±

Alex_ST, круто.
 
Ответить
СообщениеAlex_ST, круто.

Автор - Мур
Дата добавления - 13.12.2012 в 16:29
Мур Дата: Четверг, 13.12.2012, 16:31 | Сообщение № 19
Группа: Проверенные
Ранг: Обитатель
Сообщений: 436
Репутация: 19 ±
Замечаний: 0% ±

Саня, сейчас попробую.
 
Ответить
СообщениеСаня, сейчас попробую.

Автор - Мур
Дата добавления - 13.12.2012 в 16:31
Alex_ST Дата: Четверг, 13.12.2012, 17:05 | Сообщение № 20
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3213
Репутация: 609 ±
Замечаний: 0% ±

2003
Саня,
спасибо! Не пришлось мне искать, где я у Игоря (EducatedFool) на сайте видел работу с CodeName.
Давно хотел себе примерчик состряпать.
Вот теперь можно сначала отсортировать листы по Name, а потом пройтись по индексу и переименовать CodeName по возрастанию (а может быть и за один проход сделать удастся, хотя, наверное, всё-таки сортировку листов "пузырьком"лучше один раз провести).
Сегодня уже не успею слепить пример, а завтра меня засылают на весь день на обучение по PowerPoint'у (нафиг он мне не нужен, а деваться некуда - меня записали не спрашивая).
Но, надеюсь, в начале следующей недели я его таки-слеплю чтобы к себе в копилку положить.



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Четверг, 13.12.2012, 21:59
 
Ответить
СообщениеСаня,
спасибо! Не пришлось мне искать, где я у Игоря (EducatedFool) на сайте видел работу с CodeName.
Давно хотел себе примерчик состряпать.
Вот теперь можно сначала отсортировать листы по Name, а потом пройтись по индексу и переименовать CodeName по возрастанию (а может быть и за один проход сделать удастся, хотя, наверное, всё-таки сортировку листов "пузырьком"лучше один раз провести).
Сегодня уже не успею слепить пример, а завтра меня засылают на весь день на обучение по PowerPoint'у (нафиг он мне не нужен, а деваться некуда - меня записали не спрашивая).
Но, надеюсь, в начале следующей недели я его таки-слеплю чтобы к себе в копилку положить.

Автор - Alex_ST
Дата добавления - 13.12.2012 в 17:05
  • Страница 1 из 3
  • 1
  • 2
  • 3
  • »
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!