powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Макрос создание листов
15 сообщений из 15, страница 1 из 1
Макрос создание листов
    #36177517
DaniilK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кажись тут как-то проскакивал код, но вот сейчас не смог найти.
В общем нужен код макроса (Эксель 2003), который бы, после запуска создавал в книге листы из диапазона.
Например, в диапазоне B3:B17 перечен будущих имен листов, надо их создать.
Допустим, подразумеватеся, что листов в книге с уже использованными именами списка нет.
...
Рейтинг: 0 / 0
Макрос создание листов
    #36177587
nporaMep
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dim cell as range, ws as worksheet
for each cell in activesheet.range("B3:B17")
set ws = worksheets.add
ws.name = cstr(cell.value)
next
...
Рейтинг: 0 / 0
Макрос создание листов
    #36177604
DaniilK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не работает
...
Рейтинг: 0 / 0
Макрос создание листов
    #36177624
MaximuS_G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а что пишет ?...

извините за глупый вопрос: а Вы в процедуру его поместили ?
...
Рейтинг: 0 / 0
Макрос создание листов
    #36177689
DaniilK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaximuS_Gа что пишет ?...

извините за глупый вопрос: а Вы в процедуру его поместили ?

я не знаю что такое процедура, я просто скопировал код в модуль листа
...
Рейтинг: 0 / 0
Макрос создание листов
    #36177708
СамБамбук
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sub wer()
сюда вставить код
Ens Sub
...
Рейтинг: 0 / 0
Макрос создание листов
    #36177709
СамБамбук
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
сорри ...

Sub wer()
сюда вставить код
End Sub
...
Рейтинг: 0 / 0
Макрос создание листов
    #36178381
DaniilK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да, так работает, но почему листы создались "задом наперед"?
В списке было, например:
листик1
листик2
листик3
листик4
листик5
листик6
листик7
листик8
листик9
листик10
листик11
листик12
А после создания листик12 идет первым (слева направо) в книге, а лист "листик1" последним?
...
Рейтинг: 0 / 0
Макрос создание листов
    #36178405
DaniilK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можно ли сделать так, чтобы листы шли в той же последовательности слева направа к какой они были в списке (в списке сверху вниз)?
...
Рейтинг: 0 / 0
Макрос создание листов
    #36178460
MaximuS_G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
Sub WhoKnows()
Dim cell As Range
For Each cell In ActiveSheet.Range("B3:B7")
Worksheets.Add after:=Worksheets(ActiveSheet.Index)
ActiveSheet.Name = CStr(cell.Value)
Next
End Sub
...
Рейтинг: 0 / 0
Макрос создание листов
    #36178483
СамБамбук
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1. переделать СПИСОК
2. отсортировать ЛИСТЫ
3. изменить код

Sub wer()

Dim cell As Range, ws As Worksheet

n = ActiveSheet.Name

For Each cell In ActiveSheet.Range("B3:B17")
Set ws = Worksheets.Add
ws.Name = CStr(cell.Value)

ws.Move Before:=Worksheets(n)

Next

End Sub
...
Рейтинг: 0 / 0
Макрос создание листов
    #36179510
DaniilK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
для этого поселеднего предложенного макроса выдает ошибку:

Run-time error '1004'
Application-defined or object-defined error
...
Рейтинг: 0 / 0
Макрос создание листов
    #36179715
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DaniilK, так, вроде, работает
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Sub wer()
Dim cell As Range, ws As Worksheet

On Error Resume Next
n = ActiveSheet.Name
For Each cell In Worksheets(n).Range("a1:a17")
    If cell.Value <> Empty Then
        Set ws = Worksheets.Add
        ws.Name = CStr(cell.Value)
        ws.Move Before:=Worksheets(n)
    End If
Next
End Sub

...
Рейтинг: 0 / 0
Макрос создание листов
    #36179730
MaximuS_G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не понимаю, чем немного переделанный мной код от nporaMep не устраивает... и без дополнительной хавки памяти, без if...
...
Рейтинг: 0 / 0
Макрос создание листов
    #36181802
DaniilK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaximuS_G,

Сорри, не мог протестировать код раньше!
Все хорошо! Все работает! Спасибо!!! )
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Макрос создание листов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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