Вот здесь есть макрос, который умеет автоматически копировать данные. http://www.planetaexcel.ru/forum.php?thread_id=3146 Но как его интегрировать к post_304570.xls ? Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) ' Если изменения произошли не на Листе1, то ничего не делать If Sh.Name <> Лист1.Name Then Exit Sub ' Если изменения произошли не в [B2], то ничего не делать If Target.Address <> [B1].Address Then Exit Sub ' ===== Записать историю изменения значений ячейки [B2] ===== Dim rng As Range, СтрокаДляЗаписи As Range ' Задать диапазон таблицы данных Set rng = [A3].CurrentRegion ' Отпределить последнюю строку для записи Set СтрокаДляЗаписи = rng.Rows(1).Offset(rng.Rows.Count).Cells ' Добавить в конец дату+время и значение СтрокаДляЗаписи(1, 1) = Now СтрокаДляЗаписи(1, 2) = Target ' Переопределить именованный диапазон [БД] Sh.Names.Add Name:="БД", RefersTo:="=" & rng.CurrentRegion.Address ' Переопределить диапазон данных диаграммы Sh.ChartObjects(1).Chart.SetSourceData Source:=Sh.Range("БД") End Sub
Странно. Он и работает, и не работает. Если руками добавлять данные на листе Динамические данные, то он работает. Но если идет автоматический поток данных c DDE сервера, то не работает.
Но он, к сожалению, работает не автоматически. То есть, только после нажатия на него в Листе2 отображаются данные. А необходимо, чтобы данные заносились на Лист2 автоматически. Без нажимания на кнопочку Start.
В нем на Листе 1 поток динамических данных. Если в колонке С есть число больше или равное 1000, то на Листе2 строка с этим числом автоматически добавляется.
Господа, подскажите, пожалуйста, возможно ли такое в Excel? Есть колонка с числовыми данными A1:А500, если в этой колонке появляется число, скажем, больше или равно 1000 (к примеру, в ячейке А501), то в ячейке D1 автоматически происходит запись: 1000. Если после А501 прошел еще ряд чисел, и в ячейке А578 появилось число 1281, то в ячейке D2 появляется запись 1281.
То есть в колонке А автоматически отслеживаются все числа больше или равные 1000, и если такие числа там появляются, то они автоматически заносятся в колонку D.
{quote}{login=Михаил С.}{date=18.01.2012 09:34}{thema=Re: }{post}{quote}{login=Михаил С.}{date=18.01.2012 08:53}{thema=}{post}=и(макс(B1;С1>=D1);мин(B1;С1=<D1){/post}{/quote}Писал с коленки, не там скобки поставил... =ИЛИ(И(МАКС(B1;C1)>D1;МИН(B1;C1)<D1);МАКС(B1;C1)=D1;МИН(B1;C1)=D1) если сами числа в В1 и С1 не учитывать, то =И(МАКС(B1;C1)>D1;МИН(B1;C1)<D1){/post}{/quote}
Эти две формулы тоже работают. Благодарю за помощь.
{quote}{login=ABC}{date=18.01.2012 08:43}{thema=}{post}=ЕСЛИ(ИЛИ(И(B1=10;C1=2;D1=5);B1-C1=D1);1;"") или =ЕСЛИ(И(B1=10;C1=2;D1=5);1;""){/post}{/quote}
К сожалению, и эта формула не подходит. Ведь в колонке B2 и C2 могут быть другие числа, отличные от 10 и 2. D1 будет постоянным числом. А вот в колонках B2,B3,B4 и так далее числа будут разные.
Логика такова, как я понимаю. 1. Определяются все числа в диапазоне. Это числа 10,9,8,7,6,5,4,3,2 2. Если число 5 равно хотя бы одному из чисел ряда 10,9,8,7,6,5,4,3,2 , то ИСТИНА. 3. Если число 5 не равно хотя бы одному из чисел ряда 10,9,8,7,6,5,4,3,2 , то ЛОЖЬ.
Господа, подскажите, пожалуйста, по какой формуле можно решить следующую задачу: Колонка B1 содержит число 10, колонка С1 содержит число 2, колонка D1 cодержит число 5. В колонке E1 надо отобразить число 1(истина), если в диапазоне от 10 до 2 имеется число 5. То есть, если в диапазоне чисел B1-C1 имеется число, равное числу в колонке D1, то в колонке E1 отображается 1(истина).