Господа, объясните, не понимаю в екселе ровным счетом ничего. Есть файл ексель, в нем два листа, Лист1 в столбце А стоят даты, в столбцах с B-D заполняются по необходимости. Лист2 в столбце А пустой, в столбцах с B-D заполняются информацией со столбца А из Лист1 (тоесть даты), только при условии если в столбцах B-D на Лист1 указан хотя бы 1 символ. Соответственно столбцы B-D на обоих листах связаны между собой, но на одном листе в эти столбцы будет вписываться информация, а на другом листе при наличии информации в этих столбцах в первом листе, будет отражаться дата на которой в этом столбце стоит информация в первом листе. Както так, надеюсь понятно объяснил =)) Заранее приношу прощение если такая тема уже была, но не знаю как сформулировать запрос в поиске. Ничего не смог полезного найти =(
Господа, объясните, не понимаю в екселе ровным счетом ничего. Есть файл ексель, в нем два листа, Лист1 в столбце А стоят даты, в столбцах с B-D заполняются по необходимости. Лист2 в столбце А пустой, в столбцах с B-D заполняются информацией со столбца А из Лист1 (тоесть даты), только при условии если в столбцах B-D на Лист1 указан хотя бы 1 символ. Соответственно столбцы B-D на обоих листах связаны между собой, но на одном листе в эти столбцы будет вписываться информация, а на другом листе при наличии информации в этих столбцах в первом листе, будет отражаться дата на которой в этом столбце стоит информация в первом листе. Както так, надеюсь понятно объяснил =)) Заранее приношу прощение если такая тема уже была, но не знаю как сформулировать запрос в поиске. Ничего не смог полезного найти =(vravto
Сообщение отредактировал vravto - Среда, 09.05.2018, 16:01
С этим я разобрался, благодарю. И финальный вопрос на ту же тему =) Представим что делаем задачник на январь по 3м компаниям. Первая вкладка "январь", вторая вкладка "даты задач", каждая компания занимает свое место на обоих листах в столбцах B-D. на на листе "дата задач", строка B называется январь. Необходимо сделать так, что бы все даты которые на вкладке январь отмечены какими либо задачами в столбцах B-D, перенеслись на лист "даты задач" к каждой компании в строчку B. тоесть, если к компании на январь запланировано 3 задачи на разные даты, все даты к этой компании перенеслись в строчку соответствующего месяца. Прикрепляю файл с наглядным объяснением =)
С этим я разобрался, благодарю. И финальный вопрос на ту же тему =) Представим что делаем задачник на январь по 3м компаниям. Первая вкладка "январь", вторая вкладка "даты задач", каждая компания занимает свое место на обоих листах в столбцах B-D. на на листе "дата задач", строка B называется январь. Необходимо сделать так, что бы все даты которые на вкладке январь отмечены какими либо задачами в столбцах B-D, перенеслись на лист "даты задач" к каждой компании в строчку B. тоесть, если к компании на январь запланировано 3 задачи на разные даты, все даты к этой компании перенеслись в строчку соответствующего месяца. Прикрепляю файл с наглядным объяснением =)vravto
Ничего нового в новом файле нет К сообщению приложен файл: 9392873.xlsx(12.8 Kb)
Необходимо, чтобы выделенные даты на листе "даты задач" перенеслись в строчку 2, тоесть если в столбце В в строчке 11 и 16 стоят даты, нужно чтобы эти две даты переносились в строчку 2 столбца B и т.д.
Ничего нового в новом файле нет К сообщению приложен файл: 9392873.xlsx(12.8 Kb)
Необходимо, чтобы выделенные даты на листе "даты задач" перенеслись в строчку 2, тоесть если в столбце В в строчке 11 и 16 стоят даты, нужно чтобы эти две даты переносились в строчку 2 столбца B и т.д.vravto
Хотелось бы использовать такую схему для работы. Будет типо что то задачника. Тоесть в общей сложности на год, будет 13 вкладок файле, в одной вкладке столбец А это месяца с январь по декабрь, остальные столбцы это компании, в остальных 12 вкладках (которые будут типо как месяца) даты этих месяцев. Вписал к какомуто месяцу, к какойто компании задачу, она отобразилась сразу в первой вкладке. Так что бы по итогу открываю первую вкладку ты видел на какой месяц, в какие даты у какой компании поставлена задача... Ну как то так... Эх, думал тут все будет гораздо проще :D. Я так понимаю для моего делитанского уровня - макрос это что-то невероятное?
Хотелось бы использовать такую схему для работы. Будет типо что то задачника. Тоесть в общей сложности на год, будет 13 вкладок файле, в одной вкладке столбец А это месяца с январь по декабрь, остальные столбцы это компании, в остальных 12 вкладках (которые будут типо как месяца) даты этих месяцев. Вписал к какомуто месяцу, к какойто компании задачу, она отобразилась сразу в первой вкладке. Так что бы по итогу открываю первую вкладку ты видел на какой месяц, в какие даты у какой компании поставлена задача... Ну как то так... Эх, думал тут все будет гораздо проще :D. Я так понимаю для моего делитанского уровня - макрос это что-то невероятное?vravto
Сообщение отредактировал vravto - Четверг, 10.05.2018, 09:26
vravto, [offtop]Вы, конечно, в своем праве организовывать данные как угодно. Но просто поразмышляйте.
Вот Вы сделали эти 12 вкладок по количеству месяцев. ОК. И даже кто-то написал Вам макрос для сборки из них данных. ОК. Но понадобилось внести в таблицы изменения. Будете все 12 листов править, правильно? Ничего не напрягает пока? Дальше. Понадобилось посмотреть данные за два месяца. Проблематично. И т.д. и т.п.
Сделайте одну большую плоскую таблицу с фильтрами (хороший вариант - "умную" таблицу), которую будете заполнять данными. Из нее можно сводные таблиц, сводные диаграммы, любые отчеты и т.д. выводить. Фильтрами любой срез данных вывести. Быстро внести изменения, не заботясь об аутентичности всех листов.
Привычка к сложившемуся - дело неплохое, но не в том случае, если это мешает эффективной работе. Можете продолжать пилить дерево тупой пилой, а можете ее хотя бы поточить. А лучше - купить бензопилу
Извините за многострок, просто у себя на работе каленым железом безжалостно выжигал это многолистье, поэтому не могу быть равнодушным :)[/offtop]
vravto, [offtop]Вы, конечно, в своем праве организовывать данные как угодно. Но просто поразмышляйте.
Вот Вы сделали эти 12 вкладок по количеству месяцев. ОК. И даже кто-то написал Вам макрос для сборки из них данных. ОК. Но понадобилось внести в таблицы изменения. Будете все 12 листов править, правильно? Ничего не напрягает пока? Дальше. Понадобилось посмотреть данные за два месяца. Проблематично. И т.д. и т.п.
Сделайте одну большую плоскую таблицу с фильтрами (хороший вариант - "умную" таблицу), которую будете заполнять данными. Из нее можно сводные таблиц, сводные диаграммы, любые отчеты и т.д. выводить. Фильтрами любой срез данных вывести. Быстро внести изменения, не заботясь об аутентичности всех листов.
Привычка к сложившемуся - дело неплохое, но не в том случае, если это мешает эффективной работе. Можете продолжать пилить дерево тупой пилой, а можете ее хотя бы поточить. А лучше - купить бензопилу
Извините за многострок, просто у себя на работе каленым железом безжалостно выжигал это многолистье, поэтому не могу быть равнодушным :)[/offtop]abtextime
Сделайте одну большую плоскую таблицу с фильтрами (хороший вариант - "умную" таблицу), которую будете заполнять данными. Из нее можно сводные таблиц, сводные диаграммы, любые отчеты и т.д. выводить. Фильтрами любой срез данных вывести. Быстро внести изменения, не заботясь об аутентичности всех листов.
В моем случае - это будет гигантская таблица. Сколько не думал уже, тот вариант который я написал в моем случае самый идеальный. Будет 12 месяцев и около 10 компаний, к каждой компании минимум 3 задачи в месяц, нужно понимать объем работы на каждый месяц по каждой компании на отдельной вкладке. Задачи будут вноситься сразу по мере их поступления. Данных много не надо вносить. Только наименование задачи в соответствующий месяц и что бы сразу видеть даты на которые приходятся задачи в общем плане по месяцам, сейчас это выглядит в виде пяти настенных календарей перерисованных разными цветами маркера, воспринимать это трудно, описанный мной вариант самый оптимальный. Другого пока не нашел, делать огромную таблицу не вариант, иногда будет возникать необходимость распечатать отдельную вкладку на принтере и другие неудобные ньюансы.
Тоесть по факту это будет тупо задачник. Он не носит задачи сбора каких то данных, подсчетов, его не будут применять для каких то сверок, и сравнивать данные за два или 10 месяцев так же никто не собирается и т.д. Нужно что бы просто наглядно было видно что предстоит, все прошедшие месяца уже будут не актуальны. При этом это должно с легкостью открываться на любом ПК, поэтому нужен общедоступный формат типо excel.
Сделайте одну большую плоскую таблицу с фильтрами (хороший вариант - "умную" таблицу), которую будете заполнять данными. Из нее можно сводные таблиц, сводные диаграммы, любые отчеты и т.д. выводить. Фильтрами любой срез данных вывести. Быстро внести изменения, не заботясь об аутентичности всех листов.
В моем случае - это будет гигантская таблица. Сколько не думал уже, тот вариант который я написал в моем случае самый идеальный. Будет 12 месяцев и около 10 компаний, к каждой компании минимум 3 задачи в месяц, нужно понимать объем работы на каждый месяц по каждой компании на отдельной вкладке. Задачи будут вноситься сразу по мере их поступления. Данных много не надо вносить. Только наименование задачи в соответствующий месяц и что бы сразу видеть даты на которые приходятся задачи в общем плане по месяцам, сейчас это выглядит в виде пяти настенных календарей перерисованных разными цветами маркера, воспринимать это трудно, описанный мной вариант самый оптимальный. Другого пока не нашел, делать огромную таблицу не вариант, иногда будет возникать необходимость распечатать отдельную вкладку на принтере и другие неудобные ньюансы.
Тоесть по факту это будет тупо задачник. Он не носит задачи сбора каких то данных, подсчетов, его не будут применять для каких то сверок, и сравнивать данные за два или 10 месяцев так же никто не собирается и т.д. Нужно что бы просто наглядно было видно что предстоит, все прошедшие месяца уже будут не актуальны. При этом это должно с легкостью открываться на любом ПК, поэтому нужен общедоступный формат типо excel.vravto
Сообщение отредактировал vravto - Четверг, 10.05.2018, 13:10
vravto, Извините, ни одного разумного аргумента или контраргумента. Печатать - выделяете в фильтре отдельный месяц и печатаете. Что Вы называете огромной таблицей? Неужели у Вас миллионы задач?
Впрочем, всё это абсолютно Ваше дело.
Если пациент очень хочет жить, медицина бессильна
Дискуссию закончил.
vravto, Извините, ни одного разумного аргумента или контраргумента. Печатать - выделяете в фильтре отдельный месяц и печатаете. Что Вы называете огромной таблицей? Неужели у Вас миллионы задач?
Компании в каждом из 12 месяцев одинаковые и расположены в одинаковом порядке? Или могут появляться новые, удаляться старые и/или меняться порядок их расположения?
Компании в каждом из 12 месяцев одинаковые и расположены в одинаковом порядке? Или могут появляться новые, удаляться старые и/или меняться порядок их расположения?_Boroda_
Печатать - выделяете в фильтре отдельный месяц и печатаете. Что Вы называете огромной таблицей? Неужели у Вас миллионы задач?
А если мне надо предоставить задачу по компании на год, я буду каждый месяц распечатывать? Не миллион, но очень много, достаточно чтобы превратить описаную вами таблицу в нечитаемую. И суть не в выделении и распечатывании, а в быстродействии, открыл первую вкладу, увидил что в месяце 3го числа и 15 у компании задача, открыл этот месяц прочитал что конкретно за задача, описание к задаче может быть как кратким так и весьма большим, с указанием контактов и т.д. Следовательно даже из-за этого большая таблица на 10 компаний разнесется до размеров необычайных. Настенный календарь будет и то проще.
Компании в каждом из 12 месяцев одинаковые и расположены в одинаковом порядке? Или могут появляться новые, удаляться старые и/или меняться порядок их расположения?
Будут добавляться и убавляться, да расположены в одинаковом порядке, так же как они будут расположены на общей вкладке где будут даты с задачей на весь год.
Печатать - выделяете в фильтре отдельный месяц и печатаете. Что Вы называете огромной таблицей? Неужели у Вас миллионы задач?
А если мне надо предоставить задачу по компании на год, я буду каждый месяц распечатывать? Не миллион, но очень много, достаточно чтобы превратить описаную вами таблицу в нечитаемую. И суть не в выделении и распечатывании, а в быстродействии, открыл первую вкладу, увидил что в месяце 3го числа и 15 у компании задача, открыл этот месяц прочитал что конкретно за задача, описание к задаче может быть как кратким так и весьма большим, с указанием контактов и т.д. Следовательно даже из-за этого большая таблица на 10 компаний разнесется до размеров необычайных. Настенный календарь будет и то проще.
Компании в каждом из 12 месяцев одинаковые и расположены в одинаковом порядке? Или могут появляться новые, удаляться старые и/или меняться порядок их расположения?
Будут добавляться и убавляться, да расположены в одинаковом порядке, так же как они будут расположены на общей вкладке где будут даты с задачей на весь год.vravto
Макрос отрабатывает при переходе на лист "даты задач"
[vba]
Код
Private Sub Worksheet_Activate() Dim sh As Worksheet, ar Application.ScreenUpdating = 0 Application.Calculation = xlCalculationManual Set slov = CreateObject("Scripting.Dictionary") Range(Range("A1"), Range("A1").SpecialCells(xlLastCell)).Clear With slov For Each sh In ThisWorkbook.Worksheets With sh If IsDate(.Name & "/00") Then c1_ = .Cells(1, .Columns.Count).End(1).Column If c1_ > 1 Then For i = 2 To c1_ kom_ = .Cells(1, i) If Not slov.Exists(kom_) Then n_ = n_ + 1 slov.Item(kom_) = n_ df = slov.Item(kom_) End If Next i End If End If End With Next sh Range("B1").Resize(, .Count) = .keys ReDim ar(1 To 12, 1 To .Count) For Each sh In ThisWorkbook.Worksheets With sh If IsDate(.Name & "/00") Then mes_ = CByte(WorksheetFunction.Text(CDate(.Name & "/00"), "m")) c1_ = .Cells(1, .Columns.Count).End(1).Column If c1_ > 1 Then ar2 = .Cells(1, 1).Resize(32) For i = 2 To c1_ ar1 = .Cells(1, i).Resize(32) For j = 2 To 32 If ar1(j, 1) <> "" Then dat_ = slov.Item(ar1(1, 1)) If ar(mes_, dat_) = "" Then ar(mes_, dat_) = ar2(j, 1) Else ar(mes_, dat_) = ar(mes_, dat_) & vbLf & ar2(j, 1) End If End If Next j Next i Range("B2").Resize(12, slov.Count) = ar Range("A" & mes_ + 1) = .Name End If End If End With Next sh With Range("A1").Resize(13, .Count + 1) .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter .Borders.Weight = xlThin .Columns.AutoFit End With End With Application.Calculation = xlCalculationAutomatic Application.ScreenUpdating = 1 End Sub
[/vba]
Макрос отрабатывает при переходе на лист "даты задач"
[vba]
Код
Private Sub Worksheet_Activate() Dim sh As Worksheet, ar Application.ScreenUpdating = 0 Application.Calculation = xlCalculationManual Set slov = CreateObject("Scripting.Dictionary") Range(Range("A1"), Range("A1").SpecialCells(xlLastCell)).Clear With slov For Each sh In ThisWorkbook.Worksheets With sh If IsDate(.Name & "/00") Then c1_ = .Cells(1, .Columns.Count).End(1).Column If c1_ > 1 Then For i = 2 To c1_ kom_ = .Cells(1, i) If Not slov.Exists(kom_) Then n_ = n_ + 1 slov.Item(kom_) = n_ df = slov.Item(kom_) End If Next i End If End If End With Next sh Range("B1").Resize(, .Count) = .keys ReDim ar(1 To 12, 1 To .Count) For Each sh In ThisWorkbook.Worksheets With sh If IsDate(.Name & "/00") Then mes_ = CByte(WorksheetFunction.Text(CDate(.Name & "/00"), "m")) c1_ = .Cells(1, .Columns.Count).End(1).Column If c1_ > 1 Then ar2 = .Cells(1, 1).Resize(32) For i = 2 To c1_ ar1 = .Cells(1, i).Resize(32) For j = 2 To 32 If ar1(j, 1) <> "" Then dat_ = slov.Item(ar1(1, 1)) If ar(mes_, dat_) = "" Then ar(mes_, dat_) = ar2(j, 1) Else ar(mes_, dat_) = ar(mes_, dat_) & vbLf & ar2(j, 1) End If End If Next j Next i Range("B2").Resize(12, slov.Count) = ar Range("A" & mes_ + 1) = .Name End If End If End With Next sh With Range("A1").Resize(13, .Count + 1) .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter .Borders.Weight = xlThin .Columns.AutoFit End With End With Application.Calculation = xlCalculationAutomatic Application.ScreenUpdating = 1 End Sub
Здесь есть функция UDF, но это и есть макрос. С использованием этой функции, можно добиться результата, который Вы изобразили в файле-примере. Для других месяцев, необходимо указать диапазоны на соответствующих листах.
Здесь есть функция UDF, но это и есть макрос. С использованием этой функции, можно добиться результата, который Вы изобразили в файле-примере. Для других месяцев, необходимо указать диапазоны на соответствующих листах.gling