Переименовать листы в excel по значению ячейки

 

Honey

Пользователь

Сообщений: 204
Регистрация: 06.02.2015

#1

07.09.2015 11:55:30

У меня есть макрос:

Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target = Range("А1") Then
        If Target.Value <> "" Then
            If Len(Target.Value) < 30 Then
                Target.Parent.Name = Target.Value
            End If
        End If
    End If
End Sub

То есть когда изменяется ячейка А1, название соответствующего листа меняется автоматически. Но у меня в А1 не просто текст или числа. Применяется формула. И пока я не нажму снова на эту ячейке в формулу не нажму ентер, название листа не меняется. Макросу нужно вручную показывать что расчет произошел и теперь его значение другое. Пробовала сама получилось примерно вот это:

Код
Sub Ìàêðîñ1()

    Range("А1").Select
    ActiveCell.FormulaR1C1 = "=TEXT(RC[-10],""ää.ÌÌ.ãããã"")&R[1]C[-1]"
    Range("А2").Select
End Sub

Но совместить их правильно я не смогла. Чего-то не работает да и как совмещать правильно не знаю.
Во вложении есть файл с примером.
Z в макросах не бум бум. Надеюсь на Вашу помощь! Заранее спасибо!

P.S. В примере макрос находится: Исходный текст  —  контекстное меню листа

Прикрепленные файлы

  • Лист Microsoft Excel (2).xlsm (12.94 КБ)

Изменено: Honey07.09.2015 13:36:09

 

Сергей

Пользователь

Сообщений: 11251
Регистрация: 01.01.1970

#2

07.09.2015 12:10:28

на второй ссылке в поиске в модуль листа

Код
Private Sub Worksheet_Calculate()
    Me.Name = Me.Cells(1, 1)
End Sub

Лень двигатель прогресса, доказано!!!

 

Honey

Пользователь

Сообщений: 204
Регистрация: 06.02.2015

Сергей, спасибо большое! Я была бы благодарна, если бы к тому же и объяснили еще подробней что и куда)))
Простите, я совсем чайник…

Изменено: Honey07.09.2015 12:37:11

 

Сергей

Пользователь

Сообщений: 11251
Регистрация: 01.01.1970

вот

Лень двигатель прогресса, доказано!!!

 

Honey

Пользователь

Сообщений: 204
Регистрация: 06.02.2015

Сергей,УАУ!!! То есть Вы тот макрос вообще убрали? Это так круто! Спасибо большое прибольшое!!! А можете объяснить почему так? Что означает именно этот макрос?

И еще вопрос… Если мои исходные данные находятся не в вышеуказанных ячейках а в С1 и Н3? Как тогда мне быть? Можно ли переформировывать макрос?

Изменено: Honey07.09.2015 12:44:20

 

Сергей

Пользователь

Сообщений: 11251
Регистрация: 01.01.1970

#6

07.09.2015 12:44:26

Цитата
Honey написал: А можете объяснить

неа, патамушто я тоже чайник макрос нашел поиском а лезть в справку мне лень

Лень двигатель прогресса, доказано!!!

 

Михаил Лебедев

Пользователь

Сообщений: 2856
Регистрация: 17.01.2013

#7

07.09.2015 12:47:10

Что Вы хотите, чтобы получилось?
В верхнем макросе — код, который срабатывает только на событие «Изменение (…_Change) значения в ячейке».
Это событие происходит, если Вы нажали на яч. например F2? а затем — ентер..
В самом коде написано, что отслеживаются 3 условия первое из которых — это изменение значения в яч. А1 (If Target = Range(«А1») Then).

Ваш код — это просто запись макрорекордером процесса редактирования ячейки А1, в которой записана формула.

Если Вы хотите, чтобы изменение названия листа происходило только для первого листа — внесите в модуль этого листа код, предложенный Сергеем.
Если для любого активного листа — тогда в модуль книги внесите код, похожий на код Сергея:

Код
Private Sub Workbook_SheetCalculate(ByVal Sh As Object)
    With Me.ActiveSheet
    .Name = .Cells(1, 1)
    End With
End Sub

или в модуль каждого листа код Сергея.

Всё сложное — не нужно. Всё нужное — просто /М. Т. Калашников/

 

Но в А1 должна быть формула

Всё сложное — не нужно. Всё нужное — просто /М. Т. Калашников/

 

Sanja

Пользователь

Сообщений: 14838
Регистрация: 10.01.2013

#9

07.09.2015 12:51:36

Цитата
Honey написал: Если мои исходные данные находятся не в вышеуказанных ячейках а в С1 и Н3?

А это куда применить? Из какой ячейки должно браться наименование листа?

Согласие есть продукт при полном непротивлении сторон.

 

Honey

Пользователь

Сообщений: 204
Регистрация: 06.02.2015

Каждый день будут создаваться новые листы в книге. И соответственно каждый день меняется дата и фамилия в ячейках. Поэтому я хочу чтобы в зависимости кто и когда применял файл изменялось название соответствующего листа, просто чтобы было легче прослеживать и далее применять данную информацию для др формул. При этом возможно в будущем названия листов будут исходить из других ячеек на этом листе. Как мне это можно контролировать? В макросе, который я использовала до этого есть пометка из какой именно ячейки берутся данные. Можно что-то вроде этого?

 

Михаил Лебедев

Пользователь

Сообщений: 2856
Регистрация: 17.01.2013

#11

07.09.2015 12:53:15

Цитата
Honey написал: Вы тот макрос вообще убрали?

Тот макрос отслеживал 3 условия, макрос Сергея — только одно.
Условия, что А1 не пустая If Target.Value <> «» Then) и что его длина не больше 30 символов (If Len(Target.Value) < 30 Then) — он не отслеживал.

Всё сложное — не нужно. Всё нужное — просто /М. Т. Калашников/

 

Honey

Пользователь

Сообщений: 204
Регистрация: 06.02.2015

#12

07.09.2015 12:53:16

Цитата
Михаил Лебедев написал: Но в А1 должна быть формула

А если она будет меняться? Например не в А1 а в М6?

 

Сергей

Пользователь

Сообщений: 11251
Регистрация: 01.01.1970

.Cells(6, 13)

Изменено: Сергей07.09.2015 12:56:00

Лень двигатель прогресса, доказано!!!

 

Sanja

Пользователь

Сообщений: 14838
Регистрация: 10.01.2013

Может лучше вести

ЛОГ

работы с файлом?

Согласие есть продукт при полном непротивлении сторон.

 

Honey

Пользователь

Сообщений: 204
Регистрация: 06.02.2015

Sanja, это нужно мне также для того, чтобы путь к данным в листе я могла применять в формуле ДВССЫЛ… Мне так удобнее будет…
Но статью обязательно прочитаю. Уже взяла себе на заметку. Спасибо!!!)))

 

Михаил Лебедев

Пользователь

Сообщений: 2856
Регистрация: 17.01.2013

#16

07.09.2015 13:32:39

Цитата
Honey написал:
При этом возможно в будущем названия листов будут исходить из других ячеек на этом листе

Возможно Вам поможет вот такой вариант.
Дать собственное имя той ячейке, из которой макросом будет браться имя для листа.
Тогда эту ячейку можно перетаскивать (или «вырезать-вставить») в любое место листа.

Код
Private Sub Workbook_SheetCalculate(ByVal Sh As Object)
    With Me.ActiveSheet
    .Name = .Range("ИмяЛиста")
    End With
End Sub

А вообще — Ваш подход, на мой взгляд, не очень удачный…

Цитата
Honey написал:
Каждый день будут создаваться новые листы в книге. И соответственно каждый день меняется дата и фамилия в ячейках. Поэтому я хочу чтобы в зависимости кто и когда применял файл изменялось название соответствующего листа, просто чтобы было легче прослеживать и далее применять данную информацию для др формул

Вы сколько листов планируете создать в одной книге? [рабочих дней в году] * [кол-во менеджеров]? У Вас достаточно мощный компьютер?

Прикрепленные файлы

  • Лист Microsoft Excel (2).xlsm (15.35 КБ)

Всё сложное — не нужно. Всё нужное — просто /М. Т. Калашников/

 

Honey

Пользователь

Сообщений: 204
Регистрация: 06.02.2015

#17

08.09.2015 05:36:11

Михаил Лебедев,спасибо большое! Ваш последний вариант — то, что нужно! Насчет остального: компьютер достаточно мощный, до этого они просто вручную переименовывали листы — у каждого свой формат, поэтому удобнее если все будет автоматически выводиться в одном. Книга создается на месяц, каждый день по 10 максимум новых листов на одного менеджера. Как обычно, макрос не позволяет создавать копии листа (н-р 01.02.10Соколов, а копия 01.02.10Соколов (2) — выдает ошибку), но это небольшая проблема))) Ведь при этом он все-равно продолжает отлично работать!
Еще раз огромное спасибо всем!!!

Обычно мы можем легко переименовать рабочий лист, щелкнув правой кнопкой мыши лист на вкладке «Лист» и выбрав «Переименовать» из контекстного меню в Excel. Что делать, если переименовать все / несколько листов с указанными значениями ячеек? А что, если динамическое присвоение имени листу на основе указанного значения ячейки? В этой статье несколько методов помогут вам легко их решить.

  • Динамически называть лист на основе значения ячейки с помощью VBA
  • Назовите несколько листов на основе значений ячеек в соответствующих листах
  • Назовите несколько листов из указанного списка

Динамически называть лист из значения ячейки с помощью VBA

Мы можем динамически назвать рабочий лист на основе значения определенной ячейки с помощью VBA в Excel, и вы можете сделать следующее:

Шаг 1. Щелкните правой кнопкой мыши рабочий лист на вкладке «Лист», которую вы будете динамически называть по значению ячейки, и выберите Просмотреть код из контекстного меню.

Шаг 2. В открывшемся окне Microsoft Visual Basic для приложений вставьте следующий код VBA в окно модуля.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Set Target = Range("A1")
If Target = "" Then Exit Sub
Application.ActiveSheet.Name = VBA.Left(Target, 31)
Exit Sub
End Sub

Внимание: Этот VBA может динамически переименовывать лист на основе значения ячейки A1, и вы можете изменить A1 на другие ячейки в зависимости от ваших потребностей.

Шаг 3. Сохраните код VBA и закройте окно Microsoft Visual Basic для приложения.

Затем вы увидите, что имя листа динамически изменяется в зависимости от указанного значения ячейки.

Ноты:

  1. Если указанная ячейка пуста, рабочий лист не будет переименован;
  2. Если вы введете специальные символы в указанную ячейку, например *, появится предупреждение об ошибке.

Назовите несколько листов на основе значений ячеек в соответствующих листах

Работы С Нами Kutools for Excel’s Переименовать несколько листов функция, вы можете быстро назвать все / несколько листов с указанной ячейкой на соответствующем листе. Например, переименуйте каждый лист со значением Cell A1 на каждом листе.

1. Нажмите Кутулс Плюс > Рабочий лист > Переименовать листы. Смотрите скриншот:

2. В открывшемся диалоговом окне «Переименовать несколько листов» (см. Снимок экрана ниже):

(1) В Worksheets список, пожалуйста, проверьте рабочий лист, имя которого вы измените;
(2) В Параметры переименования раздел, пожалуйста, проверьте Заменить исходное имя листа вариант;
(3) В Имя нового рабочего листа раздел, пожалуйста, проверьте Переименовать листы с определенной ячейкой и укажите ячейку, содержимое которой вы назовете соответствующему листу.
(4) Щелкните значок Ok кнопку.

И теперь все проверенные листы были переименованы с указанной ячейкой каждого листа. Смотрите скриншот:

Kutools for Excel — Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная пробная версия 30-день, кредитная карта не требуется! Get It Now


Назовите несколько листов из указанного списка

Kutools for ExcelАвтора Переименовать несколько листов функция также поддерживает наименование нескольких листов со значениями ячеек в указанном диапазоне.

1. Нажмите Кутулс Плюс > Рабочий лист > Переименовать листы.

2. В открывшемся диалоговом окне «Переименовать несколько листов» вам необходимо (см. Снимки экрана ниже):

(1) В Worksheets list, проверьте рабочий лист, который вы переименуете, со значениями ячеек.
(2) В Параметры переименования раздел, проверьте Заменить исходное имя листа вариант;
(3) В Имя нового рабочего листа раздел, проверьте Из определенного диапазона вариант, щелкните  кнопку, чтобы открыть второе диалоговое окно Rename Multiple Worksheets, выберите ячейки, которые вы переименуете по их значениям, и нажмите кнопку OK кнопку.
(4) Щелкните значок Ok кнопку, чтобы применить переименование.

Затем вы увидите, что все отмеченные имена рабочих листов изменены на указанные значения ячеек. См. Снимок экрана ниже:

Kutools for Excel — Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная пробная версия 30-день, кредитная карта не требуется! Get It Now


Демонстрация: имена листов на основе значений ячеек (из списка) в Excel


Статьи по теме:


Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

Комментарии (5)


Оценок пока нет. Оцените первым!

0 / 0 / 0

Регистрация: 17.06.2013

Сообщений: 13

1

Макрос — имя листа по имени ячейки

18.06.2013, 20:23. Показов 50240. Ответов 23


Студворк — интернет-сервис помощи студентам

Господа, помогите нубу
Вот в чем вопрос:
1. Нужно что бы имя листа менялось по имени ячейки.
я находил подобный макрос, но…имя листа почему то менялось только один раз и потом на изменение значение зависимой ячейки больше не реагировало.
2. Нужно сохранить активный лист в формате *pdf. Подчеркиваю, не всю книгу, а только активный лист.
Желательно, что бы макрос можно было повесить на кнопку расположенную на другой странице.
Например:
Кнопка находится на Листе 1, а при нажатии на нее, в *pdf сохраняется Лист 2.
Скажу сразу, моих знаний хватает только на то что бы вставить макрос, редактировать его…увы…извилин не хватает



0



Pavel55

971 / 353 / 135

Регистрация: 27.10.2006

Сообщений: 764

18.06.2013, 22:28

2

Перенименование листа.
Набросал на быструю руку, допилите сами

1) откройте любой файл Excel
2) активируйте нужный лист, который вы хотите, чтобы переименовывался по изменению ячейки на этом листе
3) подведите мышку к ярлычку этого листа (слева внизу, где название листа)
4) щёлкните правой клавишей мыши и выберите в контекстном меню «исходный текст»
5) вставьте в открывшееся окно этот код

Visual Basic
1
2
3
4
5
6
7
8
9
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target = Range("A1") Then
        If Target.Value <> "" Then
            If Len(Target.Value) < 30 Then
                Target.Parent.Name = Target.Value
            End If
        End If
    End If
End Sub

5) закройте редактор VBA и попробуйте ввести любой текст в ячейку А1 — лист должен переименоваться

P.S. Сюда необходимо добавить функцию, которая будет проверять наличие запрещённых символов (*, / и других)

Экспорт листа в PDF.
Например, нам нужно экспортировать Лист1 в PDF в туже папку, где у нас сейчас находится наш открытый и обязательно сохранённый ранее файл (на несохранённом файле не пробуйте)

Visual Basic
1
2
3
4
5
6
7
8
9
10
Sub ExportToPDF()
    Dim sh As Worksheet, iFileName As String
    
    Set sh = ActiveSheet
    iFileName = Replace(ActiveWorkbook.FullName, CreateObject("Scripting.FileSystemObject").GetExtensionName(ActiveWorkbook.Name), "pdf")
    'Sheets(Array("Отчет1", "Отчет2", "Отчет3")).Select
    Sheets("Лист1").Select
    ActiveSheet.ExportAsFixedFormat xlTypePDF, iFileName
    sh.Select
End Sub

P.S. Создаёте кнопку на любом листе и повесьте этот макрос на неё. Укажите в моём коде ваше название нужного листа вместо Лист1



1



0 / 0 / 0

Регистрация: 17.06.2013

Сообщений: 13

19.06.2013, 10:38

 [ТС]

3

Павел, спасибо большое. Но в макросе для сохранения в *pdf ругается на предпоследнюю строку — ActiveSheet.ExportAsFixedFormat xlTypePDF, iFileName
а по первому коду вопрос — если сделать как вы сказали — все работает отлично. Но мне бы хотелось, что бы имя ячейки из который берется имя листа было привязано к выпадающему списку. т.е. выбираешь в выпадающем списке название и оно вставляется в имя страницы. Выпадающий список сделан с помощью Данные — проверка данных.Сейчас, если я вместо ячейки «A1» ставлю номер ячейки с выпадающим списком, то макрос срабатывает только один раз. Потом на изменение в списке он не реагирует.
И еще. Можно ли сделать что вы в макросе для сохранения в *pdf имя страницы было динамическим? Дело в том, что имя будет браться каждый раз из выпадающего списка.



0



971 / 353 / 135

Регистрация: 27.10.2006

Сообщений: 764

19.06.2013, 11:15

4

По поводу сохранения в PDF — мой код будет работать, если у вас установлен Excel 2007 и выше. Вроде, только с 2007 офиса есть сохранение в PDF.

По поводу остального ничего не скажу, нужно тестировать на файле



1



0 / 0 / 0

Регистрация: 17.06.2013

Сообщений: 13

19.06.2013, 11:23

 [ТС]

5

у меня стоит Excel 2010.
Файл выложил на яндекс-диск, Ссылка удалена



0



971 / 353 / 135

Регистрация: 27.10.2006

Сообщений: 764

19.06.2013, 11:57

6

1) зачем выкладывать такой большой файл?

2) По поводу экспорта в PDF. Вы ТОЧНО заменили ИМЯ ЛИСТА с ЛИСТ1 на СВОЙ в вашем коде? В вашем файле в коде написано «ЛИСТ1» — а такого листа в вашем файле НЕЕЕЕТ. Либо переименуйте любой ваш лист, например, лист «Форма» на «Лист1«. У меня нормально эспорт срабатывает и в офисе 2010 и в 2013

3) у вас там куча листов. Где что должно выбираться, какой лист должен менять название?

4) По поводу изменения листа по изменению значения в ячейке
Вы ТОЧНО вставли мой код для изменения листа в ваш файл? Где он? В модуле какого листа?

Скачал ваш огромный файл. Предположил (раз вы не сказали какой лист нужен), что вам нужен лист «ФОРМА», вставил свой код в модуль этого листа, долго искал в какой ячейке у вас стоит ПРОВЕРКА, т.к. вы адрес этой ячейки не написали в теме, когда выкладывали файл, заменил в коде адрес ячейки с А1 на I8, попробовал менять значения из выподающего списка в яч. I8 — лист меняет своё имя постоянно, т.е. всё срабатывает хорошо.

Может вам самому вставить нужный код в нужный лист и потестировать? )



1



0 / 0 / 0

Регистрация: 17.06.2013

Сообщений: 13

19.06.2013, 12:08

 [ТС]

7

Извините что не пояснил..
на листе — «форма» есть выпадающий список. Мне нужно, что бы имя листа «Шаблон», кажется я его переименовал в «1».(не сохранил копия которую выложил) менялось по значению выпадающего листа. Так же на листе «форма» нужно создать кнопку которая выводила бы лист «Шаблон» на сохранение в формате *pdf с названием листа, которое будет в выпадающем списке.
По поводу макроса.:
да, вы правы я не поменял имя листа. Сейчас попробовал — в пдф сохраняется, но с именем книги, а не листа.



0



Pavel55

971 / 353 / 135

Регистрация: 27.10.2006

Сообщений: 764

19.06.2013, 12:43

8

для экспорта попробуйте так

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
Sub ExportToPDF()
    Dim sh As Worksheet, iFileName As String
    
    Set sh = ActiveSheet
    Application.ScreenUpdating = False
    iFileName = ActiveWorkbook.Path & Application.PathSeparator & Sheets("Форма").Range("I8").Value & ".pdf"
    Sheets(Sheets("Форма").Range("I8").Value).Select
    ActiveSheet.ExportAsFixedFormat xlTypePDF, iFileName
    sh.Select
    Application.ScreenUpdating = True
End Sub

Для переименования (ТОЛЬКО СПЕРВА НАЗАВИТЕ НУЖНЫЙ ЛИСТ ТЕМ НАЗВАНИЕМ, КОТОРОЕ У ВАС В ДАННЫЙ МОМЕНТ УКАЗАНО В ЯЧЕЙКЕ I8 НА ЛИСТЕ «ФОРМА»)

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Dim iCurrentName As String
 
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
     If Target.Address(0, 0) = "I8" Then
        If Target.Cells.Count = 1 Then
            iCurrentName = Target.Value
        End If
     End If
End Sub
 
Private Sub Worksheet_Change(ByVal Target As Range)
 
    On Error Resume Next
    If Target.Address(0, 0) = "I8" Then
        If Target.Value <> "" Then
            If Len(Target.Value) < 30 Then
                Worksheets(iCurrentName).Name = Target.Value
                iCurrentName = Target.Value
            End If
        End If
    End If
End Sub

Добавлено через 13 минут
подкорректировал код



1



0 / 0 / 0

Регистрация: 17.06.2013

Сообщений: 13

19.06.2013, 13:25

 [ТС]

9

Павел, наверное я что то не так делаю.
Имя листа не реагирует на изменение I8. Предварительно я изменил имя листа как в списке.
а со вторым макросом….у меня не получается сохранить макрос. Создаю макрос — добавляю ваш макрос-и сохраняю. А когда пытаюсь повесить макрос на кнопку то его нет в списке макросов.

Добавлено через 12 минут
С макросом Экспорта разобрался немного. Но все равно ругается на эту строку
Sheets(Sheets(«Форма»).Range(«I8»).Value).Select.
а с переименованием так ничего и не получается

Добавлено через 12 минут
Ураа, заработало))
трудно быть деревянным
Павел, я нашел что делал не так. Переименовать страницы по списку заработало.
Осталась проблема только с экспортом. Но без вашей помощи я не найду почему ругается на эту строку.



0



971 / 353 / 135

Регистрация: 27.10.2006

Сообщений: 764

19.06.2013, 19:00

10

См. файл. Я чуть изменил код. Потестируйте.
У меня и на работе (Excel 2010) и дома (Excel 2013) работает.



1



0 / 0 / 0

Регистрация: 17.06.2013

Сообщений: 13

20.06.2013, 12:56

 [ТС]

11

Павел, спасибо огромнейшее. Все работает. Вы меня здорово выручили.



0



Pavel55

971 / 353 / 135

Регистрация: 27.10.2006

Сообщений: 764

25.06.2013, 17:00

12

@Edvin, для выбора папки для сохранения файла можно использовать такой код

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
Sub ExportToPDF()
    Dim iFileName As String, iShtName As String, iPath As String, FD As FileDialog
    
    Application.ScreenUpdating = False
    'iFileName = ActiveWorkbook.Path & Application.PathSeparator & Sheets("Форма").Range("I8").Value & ".pdf"
    iFileName = Sheets("Форма").Range("I8").Value & ".pdf"
    iShtName = Sheets("Форма").Range("I8").Value
    If iShtName = "" Then
        MsgBox "Не указана модель на листе 'Форма' в ячейке I8", vbExclamation, "Ошибка"
        Exit Sub
    End If
   
    Set FD = Application.FileDialog(msoFileDialogFolderPicker)
    With FD
        .InitialFileName = Left(ThisWorkbook.FullName, InStrRev(ThisWorkbook.FullName, Application.PathSeparator, -1, vbTextCompare))
        .InitialView = msoFileDialogViewList
        .AllowMultiSelect = False
        .Title = "Укажите папку для сохранения"
        .ButtonName = "Выбрать папку"
        If .Show = False Then Exit Sub Else iPath = .SelectedItems(1) & Application.PathSeparator
    End With
    Set FD = Nothing
    
    If SheetExist(iShtName) Then
        Worksheets(iShtName).ExportAsFixedFormat xlTypePDF, iPath & iFileName
    Else
        Application.ScreenUpdating = True
        MsgBox "Лист с названием '" & iShtName & "' отсутствует в книге!", vbExclamation, "Ошибка"
        Exit Sub
    End If
    Application.ScreenUpdating = True
    MsgBox "Файл сохранён в " & iPath & iFileName, vbInformation, "Экспорт в PDF"
    
End Sub
 
Function SheetExist(iName As String) As Boolean
    On Error Resume Next
    With Worksheets(iName): End With
    SheetExist = (Err = 0)
    Err.Clear
End Function

по поводу «очему при сохранении файла или при печати — вместе с пятью страницами текста захватывается в печать несколько пустых страниц» — я, к сожалению, не знаю



2



0 / 0 / 0

Регистрация: 17.06.2013

Сообщений: 13

16.08.2013, 09:52

 [ТС]

13

Уважаемые, подскажите, почему когда вставляешь макрос все работает. Но стоит закрыть документ и открыть его снова — макрос перестает работать. Заметил что слетает вот эта настройка (во вложении — картинка 1 — работающий макрос, картинка 2 — макрос не работает). как сделать что бы она не изменялась?

Миниатюры

Макрос - имя листа по имени ячейки
 

Макрос - имя листа по имени ячейки
 



0



Аксима

6076 / 1320 / 195

Регистрация: 12.12.2012

Сообщений: 1,023

16.08.2013, 17:48

14

Edvin, проблема не в этом.

Сделал чуть более надежное решение. Благодарности — Pavel55, ведь за основу был взят его код.

В модуль нужного листа

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Private Sub Worksheet_Activate()
    iCurrentName = ActiveSheet.Name
End Sub
 
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address(0, 0) = "I8" Then
        If Target.Value <> "" Then
            If Len(Target.Value) < 30 Then
                Worksheets(iCurrentName).Name = Target.Value
                iCurrentName = Target.Value
            End If
        End If
    End If
End Sub

В модуль ThisWorkbook («ЭтаКнига»)

Visual Basic
1
2
3
Private Sub Workbook_Open()
    iCurrentName = ActiveSheet.Name
End Sub

В модуль общего назначения (объявить в самом верху)

Visual Basic
1
Public iCurrentName As String

P.S. В данном решении не обязательно, чтобы значение ячейки «I8» целевого листа совпадало с названием листа перед вставкой кода.

С уважением,

Aksima



1



0 / 0 / 0

Регистрация: 17.06.2013

Сообщений: 13

16.08.2013, 22:36

 [ТС]

15

Aksima, спасибо большое за помощь….но я полный нуб в скриптах. Не могли бы с учетом моих практически нулевых знаний более подробно написать, куда вставлять ваши скрипты?



0



6076 / 1320 / 195

Регистрация: 12.12.2012

Сообщений: 1,023

16.08.2013, 23:11

16

Edvin, попробую объяснить с помощью картинки. См. ниже.

С уважением,

Aksima

Миниатюры

Макрос - имя листа по имени ячейки
 



1



0 / 0 / 0

Регистрация: 08.12.2015

Сообщений: 4

09.12.2015, 02:44

17

Sub ExportToPDF()
Dim sh As Worksheet, iFileName As String

Set sh = ActiveSheet
Application.ScreenUpdating = False
iFileName = ActiveWorkbook.Path & Application.PathSeparator & Sheets(«Форма»).Range(«I8»).Value & «.pdf»

Sheets(Sheets(«Форма»).Range(«I8»).Value).Select
ActiveSheet.ExportAsFixedFormat xlTypePDF, iFileName
sh.Select
Application.ScreenUpdating = True
End Sub

Почему останавливается макрос на выделенном коде. Использую Ofice 2007. Важно именно такое решение, сохранять активный лист «Форма» в файле PDF с присвоением ему имени из данных в ячейке «I8». Кто подскажет решение ?



0



k61

85 / 82 / 31

Регистрация: 13.10.2014

Сообщений: 167

09.12.2015, 04:09

18

Очевидно нет в книге листа с именем указанным в ячейке «I8» листа «Форма».
Так попробуйте:

Visual Basic
1
2
'Sheets(Sheets("Форма").Range("I8").Value).Select
Sheets("Форма").Select



1



0 / 0 / 0

Регистрация: 08.12.2015

Сообщений: 4

09.12.2015, 13:42

19

Да, действительно нет, и не надо переименовывать лист по названию ячейки. Лист «Форма», он не переименовывается, но в нем есть ячейка «I8», в которой изменяются данные. Вот эти данные и должны быть в названии файла PDF при сохранении листа «Форма»

Добавлено через 56 минут
Sub ExportToPDF()
Dim sh As Worksheet, iFileName As String
Set sh = ActiveSheet
iFileName = Replace(ActiveWorkbook.FullName, CreateObject(«Scripting.FileSystemObject»).GetExte nsionName(ActiveWorkbook.Name), «pdf»)
Sheets(«Лист1»).Select
ActiveSheet.ExportAsFixedFormat xlTypePDF, iFileName
sh.Select
End Sub

Этот код работает корректно, но сохраняет в PDF всегда одно и тоже название книги, без изменений.



0



pashulka

4131 / 2235 / 940

Регистрация: 01.12.2010

Сообщений: 4,624

09.12.2015, 14:00

20

Без необходимых проверок :

Visual Basic
1
2
3
4
Private Sub Test()
    iFileName$ = ActiveWorkbook.Path & "" & Worksheets("Форма").Range("I8") & ".pdf"
    ActiveSheet.ExportAsFixedFormat xlTypePDF, iFileName$
End Sub
Visual Basic
1
2
3
4
5
Private Sub Test2()
    With ActiveWorkbook
         .ActiveSheet.ExportAsFixedFormat xlTypePDF, .Path & "" & .Worksheets("Форма").[I8]
    End With
End Sub



0



Здравствуйте! Мне нужно чтобы лист сам автоматически переименовывался в название из ячейки. Например на листе1 есть ячейка A1. Там, в ячейке забито слово Колобок. Нужно чтобы лист1 сам переименовывался в название Колобок.


Через кнопку наверное так:
Sub Кнопка1_Щелкнуть()
    NewIm = Range(«A1»)
    Sheets(«Лист1»).Name = NewIm
End Sub

Может и я на что сгожусь … Если сгодился, можете меня по+благодарить+.


Wasilic спасибо, но как же автоматом сделать? ???


Цитата: ActionFace от 05.01.2010, 17:32
Wasilic спасибо, но как же автоматом сделать? ???

Что значит «АВТОМАТОМ»? Если не по нажатию кнопки, то при каких условиях? При включении комьютера или открытия книги? Или ….???
Может я и не смогу ответить.

Может и я на что сгожусь … Если сгодился, можете меня по+благодарить+.


Wasilic , впринципе и так хорошо! Спасибо! Но можно еще вопрос? У меня есть и второй лист который должен переименовываться :) Можно написать код для двух листов в пределах одного макроса? У листа2 есть свой A1 и там название предположим пчелка.


Sub Кнопка1_Щелкнуть()
    NewIm = Range(«A1»)
    Sheets(«Лист1»).Name = NewIm
    NewIm = Sheets(«Лист2»).Range(«A1»)
    Sheets(«Лист2»).Name = NewIm
End Sub

Не  понимаю смысла этой автоматизации. 
Если это одноразовая процедура, то почему не ручками — нажав правую кнопку на имени листа.
Но, если и новое имя листа будет переименовываться, то этот макрос не подойдет.

В общем то, это в тему о макросах VBA.
Внизу под сообщением есть выбор тем:
Выбери «Проекты VBA»
А много  разных ответов поищи здесь.
http://msoffice.nm.ru/faq/macros.htm

Может и я на что сгожусь … Если сгодился, можете меня по+благодарить+.


Если автоматически, то может быть так?
Меняйте ячейки А1 в разных  листах

Скажи мне, кудесник, любимец ба’гов…

Яндекс-деньги: 41001632713405
Webmoney: R289877159277; Z102172301748; E177867141995


_Boroda_ Круто! :D Спасибо! Но как вы это сделали? Я не вижу ни формулы, ни макроса в присланном файле. Можете написать пошаговую инструкцию? :'(


Нужно два раза кликнуть мышой по «Эта книга» в VBA. Там макрос и сидит.

Сам макрос:

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Target.Address = "$A$1" Then
On Error Resume Next
Sh.Name = Sh.Range("a1")
If Not Err.Number = 0 Then MsgBox "Лист " & Sh.Name & " нельзя переименовать в " _
& Sh.Range("a1") & "," & Chr(10) & "лист " & Sh.Range("a1") & " уже есть в этой книге."
On Error GoTo 0
End If
End Sub

Скажи мне, кудесник, любимец ба’гов…

Яндекс-деньги: 41001632713405
Webmoney: R289877159277; Z102172301748; E177867141995


_Boroda_ Спасибо Большое все заработало! Не сочтите за наглость, а можно вас еще кое о чем спросить? Проблема такая. Мне нужно с экспортить с листа1 данные в текстовом файле с разделителем табуляции(.txt) Но вот незадача. В моих данных имеются точка с запятой ; . И при создании txt в экспортируемом тексте у меня появляются кавычки » ! Кавычки мне не нужны! Как можно от них избавиться? Я конечно могу не экспортировать, а просто скопировать и вставить, но проблема в том что у меня данные в разных ячейках и при копировании txt понимает что это разные ячейки и ставит между ними невидимую палку |. Как от нее можно избавиться?


Мне это нужно для одной управляющей програмки, которая кушает только txt.
1.Вообщем я на листе1 в ячейке A1 пишу допустим Kolobok.
2.Потом там же в A1 дописываю точку с запятой(;). 
3.Далее в ячейке B1 пишу цифру 1.
4.Затем в ячейке C1 пишу точку с запятой(;). 
5.Потом делаю экспорт в формате txt с раздел табуляции.
6.В файле txt должно получиться: Kolobok;1;
Но этот Excel делает между словом Kolobok и знаком ; невидимый промежуток в виде знака | и самое страшное, между знаком ; excel пишет кавычки!
То есть TXT файл получается: «Kolobok;»   1   «;»
Приложил пример.


Если я правильно понял, необходимо сохранить значения из ячеек разделив их знаком точка с запятой «;». Попробуйте сохранить в формате *.csv. У меня на 2003 как раз такой результат получается. Формат .csv можно просто переименовать в .txt или же напрямую открыть текстовым редактором.


Еще один вариант автонаименования листа по ячейке. Используются свойства листа:

1. В случае изменения ячейки вручную на активном листе
Private Sub Worksheet_Change(ByVal Target As Range)
    Me.Name = Me.Cells(1, 1)
End Sub

2. В случае измениния ячейки в неактивном листе посредством формулы-ссылки (в приложении третий лист)
Private Sub Worksheet_Calculate()
    Me.Name = Me.Cells(1, 1)
End Sub


Цитата: ActionFace от 13.01.2010, 23:46
Мне это нужно для одной управляющей програмки, которая кушает только txt.
1.Вообщем я на листе1 в ячейке A1 пишу допустим Kolobok.
2.Потом там же в A1 дописываю точку с запятой(;).  
3.Далее в ячейке B1 пишу цифру 1.
4.Затем в ячейке C1 пишу точку с запятой(;).  
5.Потом делаю экспорт в формате txt с раздел табуляции.

Извратиться, как написал boroda, наверное можно через дополнительный лист  формулой  «=Лист1!A1 & Лист1!B1 & Лист1!C1»  

Может и я на что сгожусь … Если сгодился, можете меня по+благодарить+.


Цитата: ActionFace от 13.01.2010, 23:46
Мне это нужно для одной управляющей програмки, которая кушает только txt.
1.Вообщем я на листе1 в ячейке A1 пишу допустим Kolobok.
2.Потом там же в A1 дописываю точку с запятой(;). 
3.Далее в ячейке B1 пишу цифру 1.
4.Затем в ячейке C1 пишу точку с запятой(;). 
5.Потом делаю экспорт в формате txt с раздел табуляции.
6.В файле txt должно получиться: Kolobok;1;

Посмотри файлик. Выкрутишся наверняка.

Может и я на что сгожусь … Если сгодился, можете меня по+благодарить+.


Переименовать название листа из ячейки.

lil000

Дата: Суббота, 12.01.2019, 11:15 |
Сообщение № 1

Группа: Пользователи

Ранг: Прохожий

Сообщений: 6


Репутация:

0

±

Замечаний:
0% ±


Excel 2016

Добрый день!

Нашел макрос у вас
[vba]

Код

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range(«A2:A4»), Target) Is Nothing Then
For Each iCell In Target
Sheets(iCell.Row).Name = IIf(iCell <> «», iCell.Value, WorksheetFunction.Rept(» «, iCell.Row))
Next
End If
End Sub

[/vba]

Он рабочий но у меня задача чуть сложнее.
Нужно чтобы имя листов бралось из ячеек

Например из листа 2 диапазон ячеек F10:O10 имя бы подставлялось в нужный лист
F10 — лист 5
G10 — лист 6
H10 — лист 7
и так далее…..

Другими словами нужно чтобы имена нужных листов брались из горизонтального диапазона ячеек.

Заранее благодарен за помощь!

Сообщение отредактировал lil000Суббота, 12.01.2019, 11:33

 

Ответить

Pelena

Дата: Суббота, 12.01.2019, 11:54 |
Сообщение № 2

Группа: Админы

Ранг: Местный житель

Сообщений: 18797


Репутация:

4284

±

Замечаний:
±


Excel 2016 & Mac Excel

Если точно по задаче, и листы Лист5, Лист6 и т.д. уже существуют
[vba]

Код

    For Each iCell In Range(«F10:O10»)
        If iCell <> «» Then Sheets(iCell.Column).Name = iCell.Value
    Next

[/vba]
Но меня терзают смутные сомнения, что задача описана не полностью

К сообщению приложен файл:

2891991.xls
(66.0 Kb)


«Черт возьми, Холмс! Но как??!!»
Ю-money 41001765434816

 

Ответить

lil000

Дата: Суббота, 12.01.2019, 12:27 |
Сообщение № 3

Группа: Пользователи

Ранг: Прохожий

Сообщений: 6


Репутация:

0

±

Замечаний:
0% ±


Excel 2016

Ура получилось

Вот что прописал:

Спасибо большое

[vba]

Код

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range(«F10:O10»), Target) Is Nothing Then
   For Each iCell In Range(«F10:O10»)
   Sheets(iCell.Column).Name = IIf(iCell <> «», iCell.Value, WorksheetFunction.Rept(» «, iCell.Column))
    Next
End If
End Sub

[/vba]

Сообщение отредактировал lil000Суббота, 12.01.2019, 12:36

 

Ответить

vikttur

Дата: Суббота, 12.01.2019, 12:35 |
Сообщение № 4

Группа: Друзья

Ранг: Участник клуба

Сообщений: 2941

 

Ответить

lil000

Дата: Вторник, 15.01.2019, 14:04 |
Сообщение № 5

Группа: Пользователи

Ранг: Прохожий

Сообщений: 6


Репутация:

0

±

Замечаний:
0% ±


Excel 2016

Всем большое спасибо за помощь все заработало

Код такой

[vba]

Код

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range(«G9:V9»), Target) Is Nothing Then
   For Each iCell In Range(«G9:V9»)
   Sheets(iCell.Column).Name = IIf(iCell <> «», iCell.Value, WorksheetFunction.Rept(» «, iCell.Column))
    Next
End If
End Sub

[/vba]

Остался маленький вопрос:
Подскажите пожалуйста как поменять номер листа с которого начинается переименование.

Сейчас идет с 7 листа, то есть номер столбца и номер листа совпадает G=7.
Если мне нужно чтобы имя листа стояло в G9 а переименовывался 3 лист. Что нужно для этого?

 

Ответить

_Boroda_

Дата: Вторник, 15.01.2019, 14:32 |
Сообщение № 6

Группа: Модераторы

Ранг: Местный житель

Сообщений: 16618


Репутация:

6465

±

Замечаний:
0% ±


2003; 2007; 2010; 2013 RUS

Файл не соответсвует макросу
Так хотели?
[vba]

Код

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Range(«G9:V9»), Target) Is Nothing Then
        For Each iCell In Range(«G9:V9»)
            Sheets(3 + a).Name = IIf(iCell <> «», iCell.Value, WorksheetFunction.Rept(» «, iCell.Column))
            a = a + 1
        Next
    End If
End Sub

[/vba]


Скажи мне, кудесник, любимец ба’гов…
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995

 

Ответить

lil000

Дата: Вторник, 15.01.2019, 14:45 |
Сообщение № 7

Группа: Пользователи

Ранг: Прохожий

Сообщений: 6


Репутация:

0

±

Замечаний:
0% ±


Excel 2016

_Boroda_,
Переименовывает но выдает ошибку каждый раз 1004 имя уже используется
Но имен нет вообще

Сообщение отредактировал lil000Вторник, 15.01.2019, 14:57

 

Ответить

lil000

Дата: Вторник, 15.01.2019, 14:58 |
Сообщение № 8

Группа: Пользователи

Ранг: Прохожий

Сообщений: 6


Репутация:

0

±

Замечаний:
0% ±


Excel 2016


Прикладываю

К предыдущему сообщению приложил тоже

К сообщению приложен файл:

7931559.xlsm
(33.8 Kb)

Сообщение отредактировал lil000Вторник, 15.01.2019, 15:00

 

Ответить

_Boroda_

Дата: Вторник, 15.01.2019, 15:05 |
Сообщение № 9

Группа: Модераторы

Ранг: Местный житель

Сообщений: 16618


Репутация:

6465

±

Замечаний:
0% ±


2003; 2007; 2010; 2013 RUS

У Вас уже есть лист Прихожая. Он скрытый и по счету 7-й. А Вы хотите третий лист назвать также. Низззя!
Чтобы не ругался, а пропускал такие вещи
[vba]

Код

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Range(«G9:V9»), Target) Is Nothing Then
        On Error Resume Next
        For Each iCell In Range(«G9:V9»)
            Sheets(3 + a).Name = IIf(iCell <> «», iCell.Value, WorksheetFunction.Rept(» «, iCell.Column))
            a = a + 1
        Next
    End If
End Sub

[/vba]


Скажи мне, кудесник, любимец ба’гов…
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995

 

Ответить

StoTisteg

Дата: Вторник, 15.01.2019, 15:20 |
Сообщение № 10

Группа: Авторы

Ранг: Старожил

Сообщений: 1161


Репутация:

103

±

Замечаний:
0% ±


Excel 2010

_Boroda_, меня мучают смутные подозрения, что [vba][/vba]должно быть внутри цикла, а не снаружи. Или я не прав?


Интуитивно понятный код — это когда интуитивно понятно, что это код.

 

Ответить

lil000

Дата: Вторник, 15.01.2019, 15:26 |
Сообщение № 11

Группа: Пользователи

Ранг: Прохожий

Сообщений: 6


Репутация:

0

±

Замечаний:
0% ±


Excel 2016

У Вас уже есть лист Прихожая. Он скрытый и по счету 7-й. А Вы хотите третий лист назвать также. Низззя!
Чтобы не ругался, а пропускал такие вещи

Да затупил!

Спасибо огромное за помощь

 

Ответить

_Boroda_

Дата: Вторник, 15.01.2019, 15:26 |
Сообщение № 12

Группа: Модераторы

Ранг: Местный житель

Сообщений: 16618


Репутация:

6465

±

Замечаний:
0% ±


2003; 2007; 2010; 2013 RUS

мучают смутные подозрения, что … должно быть внутри цикла, а не снаружи. Или я не прав?

Не знаю, я Ваши мысли не читаю. «Мучают сомнения» немного отличается от «Я думаю, что нужно … потому, что …»


Скажи мне, кудесник, любимец ба’гов…
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995

 

Ответить

StoTisteg

Дата: Вторник, 15.01.2019, 15:45 |
Сообщение № 13

Группа: Авторы

Ранг: Старожил

Сообщений: 1161


Репутация:

103

±

Замечаний:
0% ±


Excel 2010

Ну так вот я и думаю, что внутри, потому что ошибку может вызвать переименование листа. а не вход в цикл.


Интуитивно понятный код — это когда интуитивно понятно, что это код.

 

Ответить

_Boroda_

Дата: Вторник, 15.01.2019, 15:58 |
Сообщение № 14

Группа: Модераторы

Ранг: Местный житель

Сообщений: 16618


Репутация:

6465

±

Замечаний:
0% ±


2003; 2007; 2010; 2013 RUS

А нафига нам холодильник, если бабушка не курит?

Связь какая?


Скажи мне, кудесник, любимец ба’гов…
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995

 

Ответить

StoTisteg

Дата: Вторник, 15.01.2019, 16:43 |
Сообщение № 15

Группа: Авторы

Ранг: Старожил

Сообщений: 1161


Репутация:

103

±

Замечаний:
0% ±


Excel 2010

Связь такая, что OERN должен отработать непосредственно перед строкой, вызвавшей ошибку. Или я не прав и он до первой ошибки, а не до первой строки?


Интуитивно понятный код — это когда интуитивно понятно, что это код.

 

Ответить

_Boroda_

Дата: Вторник, 15.01.2019, 16:50 |
Сообщение № 16

Группа: Модераторы

Ранг: Местный житель

Сообщений: 16618


Репутация:

6465

±

Замечаний:
0% ±


2003; 2007; 2010; 2013 RUS

Справку почитать религия не позволяет?


Скажи мне, кудесник, любимец ба’гов…
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995

 

Ответить

StoTisteg

Дата: Вторник, 15.01.2019, 16:52 |
Сообщение № 17

Группа: Авторы

Ранг: Старожил

Сообщений: 1161


Репутация:

103

±

Замечаний:
0% ±


Excel 2010

Нет, хреновый английский.


Интуитивно понятный код — это когда интуитивно понятно, что это код.

 

Ответить

_Boroda_

Дата: Вторник, 15.01.2019, 17:18 |
Сообщение № 18

Группа: Модераторы

Ранг: Местный житель

Сообщений: 16618


Репутация:

6465

±

Замечаний:
0% ±


2003; 2007; 2010; 2013 RUS

У меня вообще никакой. Впрочем, как хотите


Скажи мне, кудесник, любимец ба’гов…
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995

 

Ответить

boa

Дата: Среда, 16.01.2019, 17:03 |
Сообщение № 19

Группа: Друзья

Ранг: Ветеран

Сообщений: 543


Репутация:

166

±

Замечаний:
0% ±


2013, 365

Сейчас у мелкософта есть прекрасная справочная онлайн…
кстати, есть и на русском, правда, машинный перевод, но для понимания достаточно
Оператор On Error


 

Ответить

ZorKon714538

Дата: Понедельник, 23.01.2023, 21:22 |
Сообщение № 20

Группа: Пользователи

Ранг: Прохожий

Сообщений: 1

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

Куча листов… более 100…
Нужно их переименовать не по списку, а из одной и той же ячейки на каждом листе.

Помогите как…
Спасибо.

 

Ответить

Like this post? Please share to your friends:
  • Переименовать лист в excel сочетание клавиш
  • Переименовать лист в excel горячая клавиша
  • Переименовать лист excel горячие клавиши
  • Переименовать все файлы в папке excel
  • Переименовать все листы в книге excel