Значение ячейки excel по имени листа

ГЛАВНАЯ

ТРЕНИНГИ

   Быстрый старт
   Расширенный Excel
   Мастер Формул
   Прогнозирование
   Визуализация
   Макросы на VBA

КНИГИ

   Готовые решения
   Мастер Формул
   Скульптор данных

ВИДЕОУРОКИ

ПРИЕМЫ

   Бизнес-анализ
   Выпадающие списки
   Даты и время
   Диаграммы
   Диапазоны
   Дубликаты
   Защита данных
   Интернет, email
   Книги, листы
   Макросы
   Сводные таблицы
   Текст
   Форматирование
   Функции
   Всякое
PLEX

   Коротко
   Подробно
   Версии
   Вопрос-Ответ
   Скачать
   Купить

ПРОЕКТЫ

ОНЛАЙН-КУРСЫ

ФОРУМ

   Excel
   Работа
   PLEX

© Николай Павлов, Planetaexcel, 2006-2022
info@planetaexcel.ru


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

Техническая поддержка сайта

ООО «Планета Эксел»

ИНН 7735603520


ОГРН 1147746834949
        ИП Павлов Николай Владимирович
        ИНН 633015842586
        ОГРНИП 310633031600071 

Обычно мы можем легко переименовать рабочий лист, щелкнув правой кнопкой мыши лист на вкладке «Лист» и выбрав «Переименовать» из контекстного меню в 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. Показов 50221. Ответов 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



Как использовать значение ячейки, содержащей название листа, в качестве ссылки на тот самый лист?


Так,
A1 = имя листа
С1 = данные на этом листе

В ячейке, где надо получить эти данные  
=ДВССЫЛ(A1 & «!C1»)

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


Цитата: Wasilic от 13.12.2010, 12:28
Так,
A1 = имя листа
С1 = данные на этом листе

В ячейке, где надо получить эти данные  
=ДВССЫЛ(A1 & «!C1»)

Так я уже пробовал. Выдает #ССЫЛКА! — Ошибка — неправильная ссылка на ячейку. (Excel 2003)
Уточню. В ячейке А1 на листе Лист1 содержится строковой значение, такое же как и название одного из листов данной книги.
Надо получить в одной из ячеек на листе Лист1 значение одной из ячеек (например, С1) с того листа, название которого содержится в ячейке А1 на листе Лист1.


Значит что то не правильно написано!
Все работает.

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


Цитата: Wasilic от 13.12.2010, 13:25
Значит что то не правильно написано!
Все работает.

Спасибо огромное! Действительно все работает! Невнимательность меня подвела.
Раньше не получалось из-за того, что я добавлял параметр [;A1].

Тема закрыта.


Значение ячейки excel по имени листа

но листы будут добавляться и хочу брать имя листа из ячейки B4

но ошибка #ССЫЛКА

подскажите что делаю не так?

но листы будут добавляться и хочу брать имя листа из ячейки B4

но ошибка #ССЫЛКА

подскажите что делаю не так? Logist

но листы будут добавляться и хочу брать имя листа из ячейки B4

но ошибка #ССЫЛКА

подскажите что делаю не так? Автор — Logist
Дата добавления — 27.11.2013 в 11:42

Pelena Дата: Среда, 27.11.2013, 11:48 | Сообщение № 2
«Черт возьми, Холмс! Но как. »
Ю-money 41001765434816

Ответить

Logist Дата: Среда, 27.11.2013, 11:51 | Сообщение № 3
Logist Дата: Среда, 11.12.2013, 13:00 | Сообщение № 4

Добрый день.
Подскажите а если необходимо
в формуле использовать Имя листа из ячейки
другой книги, допустим с названием «БазаДанных»,
то куда или как его подставить в эту формулу

ни как не соображу.

Добрый день.
Подскажите а если необходимо
в формуле использовать Имя листа из ячейки
другой книги, допустим с названием «БазаДанных»,
то куда или как его подставить в эту формулу

ни как не соображу.

Сообщение Добрый день.
Подскажите а если необходимо
в формуле использовать Имя листа из ячейки
другой книги, допустим с названием «БазаДанных»,
то куда или как его подставить в эту формулу

ни как не соображу.

Заранее спасибо! Автор — Logist
Дата добавления — 11.12.2013 в 13:00

китин Дата: Среда, 11.12.2013, 13:12 | Сообщение № 5

Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852

Logist Дата: Среда, 11.12.2013, 13:36 | Сообщение № 6
Graf_Vishin Дата: Четверг, 23.01.2014, 12:31 | Сообщение № 7
китин Дата: Четверг, 23.01.2014, 15:37 | Сообщение № 8
Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852

Ответить

Kompromis Дата: Среда, 14.05.2014, 09:03 | Сообщение № 9

200?’200px’:»+(this.scrollHeight+5)+’px’);»> Так как имя листа содержит пробелы, его надо заключать в апострофы

А если не СУММ, допустим, а СЦЕПИТЬ и вместо G:G конкретная ячейка с данными G4 и так далее вниз, как размножить такую формулу? Из-за кавычек прирастания G от протягивания вниз не произойдет?!

200?’200px’:»+(this.scrollHeight+5)+’px’);»> Так как имя листа содержит пробелы, его надо заключать в апострофы

А если не СУММ, допустим, а СЦЕПИТЬ и вместо G:G конкретная ячейка с данными G4 и так далее вниз, как размножить такую формулу? Из-за кавычек прирастания G от протягивания вниз не произойдет?! Kompromis

ツ iii dиw ʁɔvʎнdǝвǝdǝu – dиw vǝmоɔ ɔ ɐwʎ iii ツ

Ответить

200?’200px’:»+(this.scrollHeight+5)+’px’);»> Так как имя листа содержит пробелы, его надо заключать в апострофы

А если не СУММ, допустим, а СЦЕПИТЬ и вместо G:G конкретная ячейка с данными G4 и так далее вниз, как размножить такую формулу? Из-за кавычек прирастания G от протягивания вниз не произойдет?! Автор — Kompromis
Дата добавления — 14.05.2014 в 09:03

Kompromis Дата: Среда, 14.05.2014, 09:08 | Сообщение № 10

размножаемая, то результат

размножаемая, то результат

ツ iii dиw ʁɔvʎнdǝвǝdǝu – dиw vǝmоɔ ɔ ɐwʎ iii ツ

размножаемая, то результат

Pelena Дата: Среда, 14.05.2014, 09:17 | Сообщение № 11
«Черт возьми, Холмс! Но как. »
Ю-money 41001765434816

Ответить

Kompromis Дата: Среда, 14.05.2014, 09:25 | Сообщение № 12

ツ iii dиw ʁɔvʎнdǝвǝdǝu – dиw vǝmоɔ ɔ ɐwʎ iii ツ

Kompromis Дата: Пятница, 16.05.2014, 09:01 | Сообщение № 13

Serge_007 выставил какие-то замечания, типа, за «Оверквотинг» за нарушение правил пп3..Что за дурость?! На пальцах объяснять чтоль? И в какой строке указано допустимое кол-во цитат? Или все на твое усмотрение?! Смахивает на детскую мстю какую-то. прям смешно. засорил остановившуюся тему цитатами.

ЗЫ: ПИШУ ЗДЫСЬ, т.к. Замечальщик забаррикадировался ото всех.

Serge_007 выставил какие-то замечания, типа, за «Оверквотинг» за нарушение правил пп3..Что за дурость?! На пальцах объяснять чтоль? И в какой строке указано допустимое кол-во цитат? Или все на твое усмотрение?! Смахивает на детскую мстю какую-то. прям смешно. засорил остановившуюся тему цитатами.

ЗЫ: ПИШУ ЗДЫСЬ, т.к. Замечальщик забаррикадировался ото всех. Kompromis

ツ iii dиw ʁɔvʎнdǝвǝdǝu – dиw vǝmоɔ ɔ ɐwʎ iii ツ

Ответить

Сообщение Serge_007 выставил какие-то замечания, типа, за «Оверквотинг» за нарушение правил пп3..Что за дурость?! На пальцах объяснять чтоль? И в какой строке указано допустимое кол-во цитат? Или все на твое усмотрение?! Смахивает на детскую мстю какую-то. прям смешно. засорил остановившуюся тему цитатами.

ЗЫ: ПИШУ ЗДЫСЬ, т.к. Замечальщик забаррикадировался ото всех. Автор — Kompromis
Дата добавления — 16.05.2014 в 09:01

Источник

Значение ячейки excel по имени листа

= Мир MS Excel/Имя Листа Из Ячейки — Мир MS Excel

Войти через uID

Войти через uID

Модератор форума: китин, _Boroda_

Мир MS Excel » Вопросы и решения » Вопросы по Excel » Имя Листа Из Ячейки (без макроса, по возможности)

Имя Листа Из Ячейки

NIC Дата: Суббота, 20.04.2013, 15:28 | Сообщение № 1
NIC Дата: Суббота, 20.04.2013, 23:16 | Сообщение № 2
AlexM Дата: Воскресенье, 21.04.2013, 00:01 | Сообщение № 3


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

Serge_007 Дата: Воскресенье, 21.04.2013, 17:26 | Сообщение № 4
NIC Дата: Воскресенье, 21.04.2013, 19:12 | Сообщение № 5
Serge_007 Дата: Воскресенье, 21.04.2013, 19:14 | Сообщение № 6
NIC Дата: Воскресенье, 21.04.2013, 20:39 | Сообщение № 7
AlexM Дата: Воскресенье, 21.04.2013, 20:59 | Сообщение № 8


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

NIC Дата: Воскресенье, 21.04.2013, 21:48 | Сообщение № 9
AlexM Дата: Воскресенье, 21.04.2013, 22:13 | Сообщение № 10

Я вам пример файла показал, теперь ваша очередь.
Покажите в примере какая формула, в какой ячейке. Попробуем разобраться почему не работает.

О примере я писал ранее

Я вам пример файла показал, теперь ваша очередь.
Покажите в примере какая формула, в какой ячейке. Попробуем разобраться почему не работает.

О примере я писал ранее


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

Сообщение Я вам пример файла показал, теперь ваша очередь.
Покажите в примере какая формула, в какой ячейке. Попробуем разобраться почему не работает.

О примере я писал ранее

NIC Дата: Воскресенье, 21.04.2013, 22:22 | Сообщение № 11
AlexM Дата: Воскресенье, 21.04.2013, 22:51 | Сообщение № 12

Ответить

AlexM Дата: Воскресенье, 21.04.2013, 23:19 | Сообщение № 13

Ответить

NIC Дата: Воскресенье, 21.04.2013, 23:22 | Сообщение № 14

ок! Всё написал в файле! Спасибо!

УПС! чуть припозднился!

ок! Всё написал в файле! Спасибо!

УПС! чуть припозднился! NIC

Сообщение ок! Всё написал в файле! Спасибо!

УПС! чуть припозднился! Автор — NIC
Дата добавления — 21.04.2013 в 23:22

AlexM Дата: Воскресенье, 21.04.2013, 23:36 | Сообщение № 15

Ответить

NIC Дата: Воскресенье, 21.04.2013, 23:39 | Сообщение № 16
AlexM Дата: Воскресенье, 21.04.2013, 23:46 | Сообщение № 17

Ответить

NIC Дата: Воскресенье, 21.04.2013, 23:53 | Сообщение № 18

а можно расшифровать эту строку, так для себя, чтобы знать:

а можно расшифровать эту строку, так для себя, чтобы знать:

Сообщение а можно расшифровать эту строку, так для себя, чтобы знать:

AlexM Дата: Понедельник, 22.04.2013, 00:12 | Сообщение № 19

Ответить

NIC Дата: Понедельник, 22.04.2013, 02:09 | Сообщение № 20

Сижу догоняю, не пойму никак, получается, если листы пойдут не по порядку, то макрос не годится. допустим, в ячейках J29:J32 и K29:K32 должны содержать имена листов: для J29:J32 1,7,8,9 а для K29:K32 3,10,11,12 прикладываю файл.
Спасибо за терпение!

Сижу догоняю, не пойму никак, получается, если листы пойдут не по порядку, то макрос не годится. допустим, в ячейках J29:J32 и K29:K32 должны содержать имена листов: для J29:J32 1,7,8,9 а для K29:K32 3,10,11,12 прикладываю файл.
Спасибо за терпение!

Сообщение Сижу догоняю, не пойму никак, получается, если листы пойдут не по порядку, то макрос не годится. допустим, в ячейках J29:J32 и K29:K32 должны содержать имена листов: для J29:J32 1,7,8,9 а для K29:K32 3,10,11,12 прикладываю файл.
Спасибо за терпение!

Источник

Adblock
detector

Понравилась статья? Поделить с друзьями:
  • Значение ячейки excel для впр
  • Значение ячейки excel в виде строки
  • Значение ячеек в excel 2003
  • Значение целевой ячейки excel
  • Значение функций если в microsoft excel