Доброго времени суток. Нужно написать цикл который сверяет даты на разных страницах и, в зависимости от результата, либо добавляет значение,либо оставляет ячейку пустой. строки дат фиксированы, но не фиксировано их количество.пробовал сразу сам, получается неочень. идея по количеству: чтобы сравнивало до ячейки с текстом "ИТОГО отгружено". Заранее спс
Доброго времени суток. Нужно написать цикл который сверяет даты на разных страницах и, в зависимости от результата, либо добавляет значение,либо оставляет ячейку пустой. строки дат фиксированы, но не фиксировано их количество.пробовал сразу сам, получается неочень. идея по количеству: чтобы сравнивало до ячейки с текстом "ИТОГО отгружено". Заранее спсEspada
А формула не подойдет? [Перевод / Translate] =IFERROR(HLOOKUP(B$4,INDIRECT("'"&$A12&"'!$B$4:$F$5"),2,0),"") в В12 и протянуть до конца строки. Если в столбце А указаны названия листов.
Необходимо чтобы последним столбцом был именно ИТОГО отгружено, так как последние 3 столбца высчитываются по другой формуле
А формула не подойдет? [Перевод / Translate] =IFERROR(HLOOKUP(B$4,INDIRECT("'"&$A12&"'!$B$4:$F$5"),2,0),"") в В12 и протянуть до конца строки. Если в столбце А указаны названия листов.
Необходимо чтобы последним столбцом был именно ИТОГО отгружено, так как последние 3 столбца высчитываются по другой формулеEspada
В Галактике формирую отчет за определённый период, т.е. каждый раз число дней разное, от этого и меняется размер таблицы, вы мне уже помогали с подобным отчетом, где нужно было скопировать строчку [vba]
Код
Dim rCell As Range, rRange As Range With Sheets("Порошки") Set rRange = Nothing For Each rCell In .[b5].Resize(1, .UsedRange.Columns.Count) If rCell <> "" Then If rRange Is Nothing Then Set rRange = rCell Else Set rRange = Union(rRange, rCell) End If End If Next rRange.Copy Sheets("Анализ").[b12:g12].PasteSpecial Paste:=xlValues Application.CutCopyMode = 0 End With
[/vba] тогда помог, но там было 100% совпадение дат в 2-х таблицах, а здесь нужно сверят даты и только если совпадают добавить данные в ячейку. я думал мб ещё один цикл добавить на сравнение.
В Галактике формирую отчет за определённый период, т.е. каждый раз число дней разное, от этого и меняется размер таблицы, вы мне уже помогали с подобным отчетом, где нужно было скопировать строчку [vba]
Код
Dim rCell As Range, rRange As Range With Sheets("Порошки") Set rRange = Nothing For Each rCell In .[b5].Resize(1, .UsedRange.Columns.Count) If rCell <> "" Then If rRange Is Nothing Then Set rRange = rCell Else Set rRange = Union(rRange, rCell) End If End If Next rRange.Copy Sheets("Анализ").[b12:g12].PasteSpecial Paste:=xlValues Application.CutCopyMode = 0 End With
[/vba] тогда помог, но там было 100% совпадение дат в 2-х таблицах, а здесь нужно сверят даты и только если совпадают добавить данные в ячейку. я думал мб ещё один цикл добавить на сравнение.Espada
Зачем макрос, если формулами это решается быстрее и удобнее?
Это было бы так, если бы точно знал сколько у меня столбцов будет в отчёте. Можно было бы задать расчет на всю строку, но последние 3 столбца высчитываются по другим формулам.
Зачем макрос, если формулами это решается быстрее и удобнее?
Это было бы так, если бы точно знал сколько у меня столбцов будет в отчёте. Можно было бы задать расчет на всю строку, но последние 3 столбца высчитываются по другим формулам.Espada
Каким образом формируется отчет (я так понимаю под словом "отчет" вы подразумеваете лист "анализ")? Откуда берется кол-во столбцов? Телепатией тут владеют не многие, я не в их числе. Если макросом, то формулу можно добавить в сам макрос. Если вручную, то формулу можно заносить вручную. Если вы имеете ввиду "неизвестно кол-во столбцов" на листах ИЗ КОТОРЫХ должны тянуться данные, то в формуле это предусмотрено: =ЕСЛИОШИБКА(ГПР(ПОДСТАВИТЬ(B$4;"ИТОГО отгружено";"Общий итог");ДВССЫЛ("'"&$A11&"'!$B$4:$BB$5");2;0);"")
Каким образом формируется отчет (я так понимаю под словом "отчет" вы подразумеваете лист "анализ")? Откуда берется кол-во столбцов? Телепатией тут владеют не многие, я не в их числе. Если макросом, то формулу можно добавить в сам макрос. Если вручную, то формулу можно заносить вручную. Если вы имеете ввиду "неизвестно кол-во столбцов" на листах ИЗ КОТОРЫХ должны тянуться данные, то в формуле это предусмотрено: =ЕСЛИОШИБКА(ГПР(ПОДСТАВИТЬ(B$4;"ИТОГО отгружено";"Общий итог");ДВССЫЛ("'"&$A11&"'!$B$4:$BB$5");2;0);"")SkyPro
Прошу прощение. сейчас всё объясню. Я работаю в Галактике(бух.программа типа 1С). Там устанавливаю диапазон дат, за которые формируется отчёт(от одного дня до бесконечности). из галактики формирую документ екселя с исходными данными(эту страничку я не демонстрировал). Затем с помощью макроса я формирую сводную таблицу, из сводной формирую анализ(все поля кроме строки порошки) затем формирую лист "Порошки"(копирую из сводной таблицы и с помощью фильтра(записаном в макросе) преобразую её в необходимый вид. ну из этой таблицы переношу данные на лист Анализ создаю строчку порошки и в неё заношу данные с листа порошки. Как то так. Сформировал отчет отчёт за 2 дня(для примера) внутри отчет эксель который появляется непосредственно из галактики, и файлик с макросом
Прошу прощение. сейчас всё объясню. Я работаю в Галактике(бух.программа типа 1С). Там устанавливаю диапазон дат, за которые формируется отчёт(от одного дня до бесконечности). из галактики формирую документ екселя с исходными данными(эту страничку я не демонстрировал). Затем с помощью макроса я формирую сводную таблицу, из сводной формирую анализ(все поля кроме строки порошки) затем формирую лист "Порошки"(копирую из сводной таблицы и с помощью фильтра(записаном в макросе) преобразую её в необходимый вид. ну из этой таблицы переношу данные на лист Анализ создаю строчку порошки и в неё заношу данные с листа порошки. Как то так. Сформировал отчет отчёт за 2 дня(для примера) внутри отчет эксель который появляется непосредственно из галактики, и файлик с макросомEspada
аким образом формируется отчет (я так понимаю под словом "отчет" вы подразумеваете лист "анализ")? Откуда берется кол-во столбцов? Телепатией тут владеют не многие, я не в их числе. Если макросом, то формулу можно добавить в сам макрос. Если вручную, то формулу можно заносить вручную. Если вы имеете ввиду "неизвестно кол-во столбцов" на листах ИЗ КОТОРЫХ должны тянуться данные, то в формуле это предусмотрено:
Да я вот думал сделать цикл чтобы сравнивал значение ячеек на 2-х листах и если они равны то записывал значение из строки пониже(например). так то у меня всё копировалось с помощью макроса нормально(когда было одинаковое кол-во дней на двух страницах) ну а как стало разное количество, тут я и сел...
аким образом формируется отчет (я так понимаю под словом "отчет" вы подразумеваете лист "анализ")? Откуда берется кол-во столбцов? Телепатией тут владеют не многие, я не в их числе. Если макросом, то формулу можно добавить в сам макрос. Если вручную, то формулу можно заносить вручную. Если вы имеете ввиду "неизвестно кол-во столбцов" на листах ИЗ КОТОРЫХ должны тянуться данные, то в формуле это предусмотрено:
Да я вот думал сделать цикл чтобы сравнивал значение ячеек на 2-х листах и если они равны то записывал значение из строки пониже(например). так то у меня всё копировалось с помощью макроса нормально(когда было одинаковое кол-во дней на двух страницах) ну а как стало разное количество, тут я и сел...Espada