Новости:

Теперь на форум можно залогиниться / зарегистрироваться с помощью ВКонтакте. Уже существующие пользователи могут связать свою учетную запись с аккаунтом ВКонтакте одним кликом в профиле пользователя http://forum.msexcel.ru/index.php?action=profile;area=account

Главное меню

В цикле листам присвоить имена

Автор 0mega, 21.10.2016, 11:30

« назад - далее »

0mega

всем  доброго времени суток

Есть список фамилий
кол-во фамилий совпадает с кол-вом листов
Надо в каждый лист вставить свою фамилию
фамилии можно привязать к ячейкам и перебрать через "For - Cells(n, 2) "
А как перебрать список Листов ?


cheshiki1

Sub Макрос()
    Application.ScreenUpdating = False
For i = 1 To Sheets.Count
    Sheets(i).Activate ' активация не обязательна просто показал как обратиться к листу.
    ...код
    ...
    ...
Next
Application.ScreenUpdating = True
End Sub

или так

dim Ws as worksheet
for each Ws in Sheets
...
Next Ws

0mega

cheshiki1, здравствуйте
For i = 1 To Sheets.Coun
я правильно понял что здесь машина сама подсчитает кол-во листов в книге ?

vikttur

Не посчитает. Вы букву потеряли :)
А найдете - проверьте.

0mega

ругается машина ...
Где здесь ошибка ?
Sub Макрос()

    Application.ScreenUpdating = False
For i = 1 To Sheets.Count
for n = 1 to 4
    Sheets(i).Activate ' активация не обязательна просто показал как обратиться к листу.
cells(8, 6)=cells(n, фio)
Next n
Next i
Application.ScreenUpdating = True
End Sub

cheshiki1

#5
Цитата: 0mega от 21.10.2016, 12:48
cells(8, 6)=cells(n, фio)
что за фio
да и подход не верный. зачем цикл от 1 до 4 ?

как то так
Sub Макрос()
Dim i%, FIO(), n%
Application.ScreenUpdating = False
FIO = Sheets("Служебн").Range("B4:B7").Value
n = 1
For i = 1 To Sheets.Count
  If Sheets(i).Name <> "Служебн" Then Sheets(i).Cells(8, 6) = FIO(n, 1): n = n + 1
Next
Application.ScreenUpdating = True
End Sub

0mega

cheshiki1. Благодарю

а что такое массив с %
и почему текстовый массив не имеет расширения ?

cheshiki1

Цитата: 0mega от 21.10.2016, 13:51
что такое %
это значит что переменная возле которой он стоит имеет тип Интежер (integer)

Цитата: 0mega от 21.10.2016, 13:51
почему текстовый массив не имеет расширения ?
если рядом ничего не написано это не значит что тип не указан. По умолчанию тип Вариант (variant)

0mega


0mega

непонятки какие-то ...
Макрос отлично работает.
начинаю затачивать под себя - ему это не нравится ?!
это может быть из-за того что FIO состоит из 50 строк  и каждая строка имеет 70-100 символов ?

Pelena

Цитата: 0mega от 21.10.2016, 17:34
FIO состоит из 50 строк
А листов сколько?
Посмотрите, чему в момент ошибки равна n

0mega

Елена. здравствуйте
Цитата: Pelena от 21.10.2016, 18:14
А листов сколько?
с листами все ОК
со списком - ошибся
Спасибо