Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.08.2011, 02:56   #11
AKSENOV048
Пользователь
 
Аватар для AKSENOV048
 
Регистрация: 03.08.2011
Сообщений: 74
По умолчанию

Цитата:
Сообщение от аналитика Посмотреть сообщение
какая ошибка?
прекращение работы Excel
Изображения
Тип файла: jpg Без имени1.jpg (76.8 Кб, 142 просмотров)
AKSENOV048 вне форума Ответить с цитированием
Старый 05.08.2011, 03:02   #12
AKSENOV048
Пользователь
 
Аватар для AKSENOV048
 
Регистрация: 03.08.2011
Сообщений: 74
По умолчанию

Цитата:
Сообщение от Казанский Посмотреть сообщение
Не будет. ДВССЫЛ не создает трехмерные ссылки. Решение тут: http://www.planetaexcel.ru/forum.php?thread_id=4802
ни чего не понял там десятки формул, какую из них применить мне не пойму

Последний раз редактировалось AKSENOV048; 05.08.2011 в 03:06.
AKSENOV048 вне форума Ответить с цитированием
Старый 05.08.2011, 07:25   #13
MCH
Форумчанин
 
Регистрация: 21.11.2010
Сообщений: 326
По умолчанию

как вариант, формула массива (вводится нажатием ctrl+shift+enter):
Код:
=СУММ(ЕСЛИ(ЕОШ(Ч(ДВССЫЛ(ТЕКСТ(СТРОКА(ИНДЕКС($A:$A;$N$1):ИНДЕКС($A:$A;$N$2));"'ДД.ММ.ГГГГ'!")&"E"&СТРОКА(5:5))));;Ч(ДВССЫЛ(ТЕКСТ(СТРОКА(ИНДЕКС($A:$A;$N$1):ИНДЕКС($A:$A;$N$2));"'ДД.ММ.ГГГГ'!")&"E"&СТРОКА(5:5)))))
Вложения
Тип файла: rar ДВССЫЛ.rar (9.7 Кб, 16 просмотров)
MCH вне форума Ответить с цитированием
Старый 05.08.2011, 11:34   #14
AKSENOV048
Пользователь
 
Аватар для AKSENOV048
 
Регистрация: 03.08.2011
Сообщений: 74
По умолчанию Спасибо!

здорово. спасибо. я правда не думал что формула такая длинная будет. пока не совсем разобрался что есть что!
спасибо.
единственное вылетает ошибка о прекращении работы приложения если в указанных ячейках я выбираю даты при помощи надстройки DataPicker.

а нельзя будет сделать, чтобы в ячейках не вбивать даты, а выбирать из всплывающего списка?
AKSENOV048 вне форума Ответить с цитированием
Старый 05.08.2011, 13:11   #15
R Dmitry
Форумчанин
 
Регистрация: 07.03.2010
Сообщений: 796
По умолчанию

Цитата:
Сообщение от AKSENOV048 Посмотреть сообщение
здорово. спасибо. я правда не думал что формула такая длинная будет. пока не совсем разобрался что есть что!
спасибо.
единственное вылетает ошибка о прекращении работы приложения если в указанных ячейках я выбираю даты при помощи надстройки DataPicker.

а нельзя будет сделать, чтобы в ячейках не вбивать даты, а выбирать из всплывающего списка?
можно UDF использовать

Код:
Function SumSheetRange(r As Range, sh1 As String, sh2 As String)
Dim bl As Boolean, i&
For i = 1 To Sheets.Count
If Sheets(i).Name = sh1 Then bl = True
If bl Then
SumSheetRange = SumSheetRange + Application.WorksheetFunction.Sum(Sheets(i).Range(r.Address))
If Sheets(i).Name = sh2 Then Exit Function
End If
Next
End Function
пример использования
=SumSheetRange(A1:A2;"Лист2";"Лист4 ")
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234
R Dmitry вне форума Ответить с цитированием
Старый 05.08.2011, 21:46   #16
AKSENOV048
Пользователь
 
Аватар для AKSENOV048
 
Регистрация: 03.08.2011
Сообщений: 74
По умолчанию

Цитата:
Сообщение от R Dmitry Посмотреть сообщение
можно UDF использовать

Код:
Function SumSheetRange(r As Range, sh1 As String, sh2 As String)
Dim bl As Boolean, i&
For i = 1 To Sheets.Count
If Sheets(i).Name = sh1 Then bl = True
If bl Then
SumSheetRange = SumSheetRange + Application.WorksheetFunction.Sum(Sheets(i).Range(r.Address))
If Sheets(i).Name = sh2 Then Exit Function
End If
Next
End Function
пример использования
=SumSheetRange(A1:A2;"Лист2";"Лист4 ")


Спасибо. но у меня не получается! вставляю в свой документ и не работает. Если я понял A1:A1 это ячейки которые будут суммироваться, а C2;D2 это листы. Я пишу =SumSheetRange(E5:E5;C1;C2) и выдается предупреждение о циклической ссылке.
Щас еще раз посмотрел получается что формула меняется в значениях =SumSheetRange(E6:E6;C2;C3) и т.д.! или я не правильно делаю?

Нельзя сделать раскрывающийся список с именами листов?
AKSENOV048 вне форума Ответить с цитированием
Старый 05.08.2011, 23:16   #17
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Цитата:
Нельзя сделать раскрывающийся список с именами листов?
Можно конечно.
при открытии рабочей книги запустить макрос, типа такого
Код:
Sub tt()
    For i = 1 To Sheets.Count
        Cells(Rows.Count, 1).End(xlUp).Offset(1, 0) = Sheets(i).Name
    Next i
End Sub
получить список рабочих листов книги.
А затем уже можно использовать его для получения раскрывающегося списка
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 05.08.2011, 23:26   #18
AKSENOV048
Пользователь
 
Аватар для AKSENOV048
 
Регистрация: 03.08.2011
Сообщений: 74
По умолчанию

Цитата:
Сообщение от VictorM Посмотреть сообщение
Можно конечно.
при открытии рабочей книги запустить макрос, типа такого
Код:
Sub tt()
    For i = 1 To Sheets.Count
        Cells(Rows.Count, 1).End(xlUp).Offset(1, 0) = Sheets(i).Name
    Next i
End Sub
получить список рабочих листов книги.
А затем уже можно использовать его для получения раскрывающегося списка
Спасибо, но такой вариант не пойдет. это делается для человека мало понимающего, точнее сказать ни чего не понимающего в excel и в компе вообще. а в вашем случае надо постоянно запускать макрос, но даже не в этом проблема, а в том что, при создании нового листа, старый список не обновляется, а создается новый дополнительно!

Интересует, можно ли сделать всплывающий список листов в книге с помощью формул?

может можно использовать какие-то данные из формулы выше?
AKSENOV048 вне форума Ответить с цитированием
Старый 05.08.2011, 23:44   #19
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Цитата:
а в вашем случае надо постоянно запускать макрос,
Вы видимо недочитали, что макрос можно запускаеть автоматом, при открытии книги, по событию Private Sub Workbook_Open.
Да и вообще, запускать его можно как угодно, хоть при создании нового листа, хоть при обновлении данных на листе, причем, заметьте, без участия пользователя.
Но решать конечно Вам.
p.s.
Чисто для примера, см. файлик
Вложения
Тип файла: zip Получить список рабочих листов книги.zip (7.7 Кб, 13 просмотров)
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499

Последний раз редактировалось VictorM; 05.08.2011 в 23:48.
VictorM вне форума Ответить с цитированием
Старый 05.08.2011, 23:52   #20
AKSENOV048
Пользователь
 
Аватар для AKSENOV048
 
Регистрация: 03.08.2011
Сообщений: 74
По умолчанию

Цитата:
Сообщение от VictorM Посмотреть сообщение
Вы видимо недочитали, что макрос можно запускаеть автоматом, при открытии книги, по событию Private Sub Workbook_Open.
Да и вообще, запускать его можно как угодно, хоть при создании нового листа, хоть при обновлении данных на листе, причем, заметьте, без участия пользователя.
Но решать конечно Вам.
т.е. можно сделать так: создать отдельный лист и сделать чтобы макрос на нем автоматически запускался и обновлял данные о листах в книге(именно обновлялся, а не продолжался новым списком)? если я так вас понял, опишите пожалуйста как так сделать подробней, буду очень благодарен!

Вопрос по поводу сделать тоже самое с помощью формул, все еще интересует!
AKSENOV048 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
DbGrid - Что то надо выключить...вот только что NitroSki БД в Delphi 12 01.07.2011 08:05
Надо дописать скрипт сохранения текстовой информации kakawkin PHP 3 17.09.2010 10:42
надо немного дописать... Acid Помощь студентам 2 21.05.2007 17:32