Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Коректировка формул по номеру листа / 8 сообщений из 8, страница 1 из 1
03.01.2006, 10:50:18
    #33467219
Tachkin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Коректировка формул по номеру листа
С Новым Годом, Вас, глубокоуважаемые знатоки :-))

Сталкнулся с такой проблемой:
Есть файл *.xls, в котором хранится н-ное количество листов пронумерованных типа З_(1), З_(2), ..., З_(n). В каждом листе есть однотипные формулы, ссылающиеся на общий лист в конце книги по строчно, т.е. З_(1) привязана к строке 1 общего листа, З_(2) соответственно ко 2-й строке, и т.д. Дело в том что для различных файлов мне необходимо создавать разное количество листов в книге (от 2 до 40-50 листов). Я правлю ссылки в каждом листе вручную, что естественно отнимает уйму времени.
Подскажите, плиз, модно ли как-нибудь делать ссылки в ячейках, привязываясь к номеру листа? Или как по вашему можно мне упростить жизнь.

P/S Оговорюсь сразу с инструментарием VBA знаком слабо, и если будете приводить отрывки маркросов, то поподробнее пожалуйста.

За ранее спасибо всем кто откликнулся, и еще раз с Новым Годом
...
Рейтинг: 0 / 0
04.01.2006, 21:02:15
    #33468460
Дмит
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Коректировка формул по номеру листа
В данном вопросе можно обойтись без VBA, например так:
=ДВССЫЛ("3_("&СТРОКА()&")!$A$1")
формула, если её растянуть в столбце, покажет на общем листе
значение ячейки А1 в листах 3_(номер строки)!А1
Переработайте для Вашего конкретного случая.
...
Рейтинг: 0 / 0
05.01.2006, 13:34:16
    #33469102
Tachkin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Коректировка формул по номеру листа
2 Дмит
Спасибо, но мне надо в другую сторону (или я торожу, и не могу сообразить, как с помощью двойной сылки это можно сделать). Мне надо, что бы в созданной копии листа (при копировании листа З_(1) в ту-же книгу, Excel ам присваивает следующий номер З_(2) ) менялась строка ссылок на общий лист.

Если точнее, то мне интересно можно ли в формуле использовать номер текущего листа, не конкретного, а текущего, как переменной. Что бы формула "смотрела" на каком листе находится :) В любом формате, я что надо выцарапаю ;)

Ваш пример, предпологает ссылки общего листа книги на переменные листы, а мне надо ссылки переменных листов листов на общий. Но, все равно, спасибо, я такой функции не знал :))
...
Рейтинг: 0 / 0
05.01.2006, 21:22:04
    #33469684
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Коректировка формул по номеру листа
TachkinВаш пример, предпологает ссылки общего листа книги на переменные листы, а мне надо ссылки переменных листов листов на общий.
И что тебе мешает явно указать имя общего листа? Копируй переменные листы сколько влезет - имя общего листа меняться то не будет. Зачем вообще править формулы???
...
Рейтинг: 0 / 0
06.01.2006, 18:41:23
    #33470743
Дмит
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Коректировка формул по номеру листа
Я так понял, что из общего листа извлекаются данный из определённых строк или столбцов, в зависимости от номера листа.
Думаю такая функция VBA поможет:
Public Function NomerLista()
Dim str As String, i As Long
str = Application.Caller.Parent.Name 'Имя листа
i = InStr(1, str, "(", vbTextCompare) 'поиск открывающейся скобки в имени
If i = 0 Then
NomerLista = CVErr(xlErrNull) 'возвращение ошибки если скобки не найдены
Else: NomerLista = Val(Mid(str, i + 1)) 'извлечение числа из скобок
End If
Application.Volatile True 'пересчёт функции
End Function
А дальше сформировать ссылку на ячейку, типа:
=ДВССЫЛ("Общий!A" & NomerLista())
...
Рейтинг: 0 / 0
08.01.2006, 08:44:46
    #33471632
sergeyvg
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Коректировка формул по номеру листа
номер XYZ из имени листа типа ABC(XYZ) можно получить так, правда, если нет открывающейся скобки в имени, то ошибка:)

=ПОДСТАВИТЬ(ПСТР(ЯЧЕЙКА("filename";$A$1);НАЙТИ("(";ЯЧЕЙКА("filename";$A$1);1)+1;ДЛСТР(ЯЧЕЙКА("filename";$A$1)));")";"")
...
Рейтинг: 0 / 0
08.01.2006, 12:05:09
    #33471696
Дмит
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Коректировка формул по номеру листа
sergeyvg! отлично. Значит можно обойтись и без VBA.
У меня правда, работает только с - ЯЧЕЙКА("имяфайла";$A$1)
...
Рейтинг: 0 / 0
10.01.2006, 18:36:55
    #33475010
Tachkin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Коректировка формул по номеру листа
Класс! Все работает!! Спасибо!!! (сам бы никогда не допер :))
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Коректировка формул по номеру листа / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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