Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/автоматическое заполнение таблицы - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » автоматическое заполнение таблицы (Формулы/Formulas)
автоматическое заполнение таблицы
alekuvaldin Дата: Среда, 07.10.2015, 12:55 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Добрый день, друзья!
Прошу Вас всех помочь разобраться с моим примером!
Есть сводная таблица по нескольким фирмам и затраченным суммам. Фирмы проставляют статус оплаты.
При рассылке писем приходится удалять строки, относящиеся к другим фирмам.
Возможно ли наладить с помощь формул или макроса (формулы в приоритете) такой момент: есть несколько отдельных таблиц
(по кол-ву фирм в общем файле) куда перетекает по формуле инфа из сводной таблицы, то есть по каждой отдельной фирме
в отдельную таблицу.
После этого чтобы осталось только скинуть отдельный файлик в письмо для отправки контрагенту.

Возможно кто то поймет суть вопроса и скажет более легкий путь решения проблемы. Буду рад услышать все мнения.
Заранее спасибо!
 
Ответить
СообщениеДобрый день, друзья!
Прошу Вас всех помочь разобраться с моим примером!
Есть сводная таблица по нескольким фирмам и затраченным суммам. Фирмы проставляют статус оплаты.
При рассылке писем приходится удалять строки, относящиеся к другим фирмам.
Возможно ли наладить с помощь формул или макроса (формулы в приоритете) такой момент: есть несколько отдельных таблиц
(по кол-ву фирм в общем файле) куда перетекает по формуле инфа из сводной таблицы, то есть по каждой отдельной фирме
в отдельную таблицу.
После этого чтобы осталось только скинуть отдельный файлик в письмо для отправки контрагенту.

Возможно кто то поймет суть вопроса и скажет более легкий путь решения проблемы. Буду рад услышать все мнения.
Заранее спасибо!

Автор - alekuvaldin
Дата добавления - 07.10.2015 в 12:55
китин Дата: Среда, 07.10.2015, 13:06 | Сообщение № 2
Группа: Модераторы
Ранг: Экселист
Сообщений: 7019
Репутация: 1074 ±
Замечаний: 0% ±

Excel 2007;2010;2016
1.макрос
2.формулы массива
3.читаем правила rules


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
Сообщение1.макрос
2.формулы массива
3.читаем правила rules

Автор - китин
Дата добавления - 07.10.2015 в 13:06
Manyasha Дата: Среда, 07.10.2015, 13:07 | Сообщение № 3
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 898 ±
Замечаний: 0% ±

Excel 2010, 2016
alekuvaldin, на Ваш вопрос
Возможно ли
возможно :)
более легкий путь
например, отфильтровать таблицу по нужной фирме и скопировать на новый лист.

Для более полных ответов, приложите файл-пример.
[offtop]Чуть-чуть не успела :) [/offtop]


ЯД: 410013299366744 WM: R193491431804

Сообщение отредактировал Manyasha - Среда, 07.10.2015, 13:09
 
Ответить
Сообщениеalekuvaldin, на Ваш вопрос
Возможно ли
возможно :)
более легкий путь
например, отфильтровать таблицу по нужной фирме и скопировать на новый лист.

Для более полных ответов, приложите файл-пример.
[offtop]Чуть-чуть не успела :) [/offtop]

Автор - Manyasha
Дата добавления - 07.10.2015 в 13:07
alekuvaldin Дата: Среда, 07.10.2015, 13:12 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Для более полных ответов, приложите файл-пример.

Вроде прикладывал,,,, %)
К сообщению приложен файл: 9260182.xlsx (18.6 Kb)
 
Ответить
Сообщение
Для более полных ответов, приложите файл-пример.

Вроде прикладывал,,,, %)

Автор - alekuvaldin
Дата добавления - 07.10.2015 в 13:12
alekuvaldin Дата: Среда, 07.10.2015, 13:15 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
например, отфильтровать таблицу по нужной фирме и скопировать на новый лист.

это все лишние телодвижения <_< . хочется чтобы все само работало :D
 
Ответить
Сообщение
например, отфильтровать таблицу по нужной фирме и скопировать на новый лист.

это все лишние телодвижения <_< . хочется чтобы все само работало :D

Автор - alekuvaldin
Дата добавления - 07.10.2015 в 13:15
китин Дата: Среда, 07.10.2015, 13:17 | Сообщение № 6
Группа: Модераторы
Ранг: Экселист
Сообщений: 7019
Репутация: 1074 ±
Замечаний: 0% ±

Excel 2007;2010;2016
дык какая инфа должна перетекать?в каком виде д.б. эта таблица? у вас в файле только сводная


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
Сообщениедык какая инфа должна перетекать?в каком виде д.б. эта таблица? у вас в файле только сводная

Автор - китин
Дата добавления - 07.10.2015 в 13:17
alekuvaldin Дата: Среда, 07.10.2015, 13:19 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
дык какая инфа должна перетекать?в каком виде д.б. эта таблица? у вас в файле только сводная

грубо говоря если в сводной 5 фирм - то должно быть 5 отдельных файлов с инфой только по каждой отдельной фирме. форматирование аналогично сводной таблицы


Сообщение отредактировал alekuvaldin - Среда, 07.10.2015, 13:20
 
Ответить
Сообщение
дык какая инфа должна перетекать?в каком виде д.б. эта таблица? у вас в файле только сводная

грубо говоря если в сводной 5 фирм - то должно быть 5 отдельных файлов с инфой только по каждой отдельной фирме. форматирование аналогично сводной таблицы

Автор - alekuvaldin
Дата добавления - 07.10.2015 в 13:19
китин Дата: Среда, 07.10.2015, 13:25 | Сообщение № 8
Группа: Модераторы
Ранг: Экселист
Сообщений: 7019
Репутация: 1074 ±
Замечаний: 0% ±

Excel 2007;2010;2016
как понял по одной фирме сделал.по аналогии сделаете?в А1 д.б. название той фирмы,которая нужна
Код
=ЕСЛИОШИБКА(ИНДЕКС(ТО!$B$3:$M$33;НАИМЕНЬШИЙ(ЕСЛИ(ТО!$A$3:$A$33='ООО "Амур"'!$A$1;СТРОКА(ТО!$A$3:$A$33)-2);СТРОКА(A1));ПОИСКПОЗ('ООО "Амур"'!A$2;ТО!$B$1:$M$1;0));"")
формула массива
К сообщению приложен файл: alekuvaldin.xlsx (22.9 Kb)


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852


Сообщение отредактировал китин - Среда, 07.10.2015, 13:26
 
Ответить
Сообщениекак понял по одной фирме сделал.по аналогии сделаете?в А1 д.б. название той фирмы,которая нужна
Код
=ЕСЛИОШИБКА(ИНДЕКС(ТО!$B$3:$M$33;НАИМЕНЬШИЙ(ЕСЛИ(ТО!$A$3:$A$33='ООО "Амур"'!$A$1;СТРОКА(ТО!$A$3:$A$33)-2);СТРОКА(A1));ПОИСКПОЗ('ООО "Амур"'!A$2;ТО!$B$1:$M$1;0));"")
формула массива

Автор - китин
Дата добавления - 07.10.2015 в 13:25
alekuvaldin Дата: Среда, 07.10.2015, 13:34 | Сообщение № 9
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
ак понял по одной фирме сделал.по аналогии сделаете?

думаю должен справиться... сейчас попробую... :)
 
Ответить
Сообщение
ак понял по одной фирме сделал.по аналогии сделаете?

думаю должен справиться... сейчас попробую... :)

Автор - alekuvaldin
Дата добавления - 07.10.2015 в 13:34
китин Дата: Среда, 07.10.2015, 13:47 | Сообщение № 10
Группа: Модераторы
Ранг: Экселист
Сообщений: 7019
Репутация: 1074 ±
Замечаний: 0% ±

Excel 2007;2010;2016
решают и тут


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
Сообщениерешают и тут

Автор - китин
Дата добавления - 07.10.2015 в 13:47
alekuvaldin Дата: Среда, 07.10.2015, 14:17 | Сообщение № 11
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
как понял по одной фирме сделал.по аналогии сделаете?

а это можно между разными файлами а не листами подтягивать???
 
Ответить
Сообщение
как понял по одной фирме сделал.по аналогии сделаете?

а это можно между разными файлами а не листами подтягивать???

Автор - alekuvaldin
Дата добавления - 07.10.2015 в 14:17
alekuvaldin Дата: Среда, 07.10.2015, 14:51 | Сообщение № 12
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
решают и тут

там то как то проще получилось... вставил и заработало. а с формулой отсюда я недопетрил %) (туговато для моего мозга :( )
Огромное приогромное спасибо! Сейчас все сделал-все работает "крутится-вертится" - так приятно смотреть!!! hands hands hands
 
Ответить
Сообщение
решают и тут

там то как то проще получилось... вставил и заработало. а с формулой отсюда я недопетрил %) (туговато для моего мозга :( )
Огромное приогромное спасибо! Сейчас все сделал-все работает "крутится-вертится" - так приятно смотреть!!! hands hands hands

Автор - alekuvaldin
Дата добавления - 07.10.2015 в 14:51
alekuvaldin Дата: Среда, 07.10.2015, 15:33 | Сообщение № 13
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Вот тут тоже помогают решить проблему: http://www.planetaexcel.ru/forum....e589491
Есть решение (Пример) - помог Vik_tor
Однако проблема в том, что у получателя отображаются все строки как формулы(
Опять же Vik_tor доработал пример с другой формулой ( с другого сайта ) попробовал скрестить с макросом (alekuvaldin+ макрос). он размножает листы шаблона с формулой по числу фирм.
Надо бы заменить формулы на значения (для рассылки) , но так как я в макросах не очень, возможно кто-то поможет разобраться как это сделать %)
К сообщению приложен файл: 0621763.xlsx (21.0 Kb) · alekuvaldin_.xlsb (32.9 Kb)
 
Ответить
СообщениеВот тут тоже помогают решить проблему: http://www.planetaexcel.ru/forum....e589491
Есть решение (Пример) - помог Vik_tor
Однако проблема в том, что у получателя отображаются все строки как формулы(
Опять же Vik_tor доработал пример с другой формулой ( с другого сайта ) попробовал скрестить с макросом (alekuvaldin+ макрос). он размножает листы шаблона с формулой по числу фирм.
Надо бы заменить формулы на значения (для рассылки) , но так как я в макросах не очень, возможно кто-то поможет разобраться как это сделать %)

Автор - alekuvaldin
Дата добавления - 07.10.2015 в 15:33
Manyasha Дата: Среда, 07.10.2015, 15:48 | Сообщение № 14
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 898 ±
Замечаний: 0% ±

Excel 2010, 2016
alekuvaldin, 1 строчку в макрос добавила:
[vba]
Код
ActiveSheet.UsedRange = ActiveSheet.UsedRange.Value
[/vba]
и включение/отключение пересчета формул (Application.Calculation) переместила внутрь цикла
К сообщению приложен файл: alekuvaldin_11.xlsb (33.4 Kb)


ЯД: 410013299366744 WM: R193491431804
 
Ответить
Сообщениеalekuvaldin, 1 строчку в макрос добавила:
[vba]
Код
ActiveSheet.UsedRange = ActiveSheet.UsedRange.Value
[/vba]
и включение/отключение пересчета формул (Application.Calculation) переместила внутрь цикла

Автор - Manyasha
Дата добавления - 07.10.2015 в 15:48
alekuvaldin Дата: Среда, 07.10.2015, 19:53 | Сообщение № 15
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
alekuvaldin, 1 строчку в макрос добавила:
ActiveSheet.UsedRange = ActiveSheet.UsedRange.Value

и включение/отключение пересчета формул (Application.Calculation) переместила внутрь цикла
К сообщению приложен файл: alekuvaldin_11.xlsb(33Kb)

Да,благодарю! Вопрос: можно ли реализовать и как вывод данных не на отд.лист этого документа а в отдельный документ (по кол-ву фирм)
и еще. возможно ли дополнить данный файл макросом при выполнении которого откроются новые письма в Outlook(по кол-ву фирм) Во вложении каждого письма будет либо лист (как в первом вашем случае) либо новый файл (в случае реализациии моего первого вопроса) а письмо бы дополнялось стандартным текстом. Отправка писем ручная, а не по выполнению макроса.
Или это уже из области фантастики?? %)
 
Ответить
Сообщение
alekuvaldin, 1 строчку в макрос добавила:
ActiveSheet.UsedRange = ActiveSheet.UsedRange.Value

и включение/отключение пересчета формул (Application.Calculation) переместила внутрь цикла
К сообщению приложен файл: alekuvaldin_11.xlsb(33Kb)

Да,благодарю! Вопрос: можно ли реализовать и как вывод данных не на отд.лист этого документа а в отдельный документ (по кол-ву фирм)
и еще. возможно ли дополнить данный файл макросом при выполнении которого откроются новые письма в Outlook(по кол-ву фирм) Во вложении каждого письма будет либо лист (как в первом вашем случае) либо новый файл (в случае реализациии моего первого вопроса) а письмо бы дополнялось стандартным текстом. Отправка писем ручная, а не по выполнению макроса.
Или это уже из области фантастики?? %)

Автор - alekuvaldin
Дата добавления - 07.10.2015 в 19:53
Manyasha Дата: Четверг, 08.10.2015, 12:02 | Сообщение № 16
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 898 ±
Замечаний: 0% ±

Excel 2010, 2016
в отдельный документ

например, так:

новые письма в Outlook
Это уже другой вопрос. Воспользуйтесь поиском по форуму, и в готовых решениях посмотрите.
К сообщению приложен файл: alekuvaldin_111.xlsb (35.8 Kb)


ЯД: 410013299366744 WM: R193491431804
 
Ответить
Сообщение
в отдельный документ

например, так:

новые письма в Outlook
Это уже другой вопрос. Воспользуйтесь поиском по форуму, и в готовых решениях посмотрите.

Автор - Manyasha
Дата добавления - 08.10.2015 в 12:02
alekuvaldin Дата: Четверг, 08.10.2015, 12:17 | Сообщение № 17
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Спасибо!!!
[moder]Не надо цитировать пост целиком. Это нарушение Правил форума[/moder]


Сообщение отредактировал Pelena - Четверг, 08.10.2015, 12:19
 
Ответить
СообщениеСпасибо!!!
[moder]Не надо цитировать пост целиком. Это нарушение Правил форума[/moder]

Автор - alekuvaldin
Дата добавления - 08.10.2015 в 12:17
alekuvaldin Дата: Понедельник, 12.10.2015, 16:49 | Сообщение № 18
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
например, так:

Приветствую!! А сколько может потребоваться времени на написание такого файла самому если начать изучение макросов с 0?
Пытался перенести последний Ваш макрос на свой файл но не получается :( Не можете ли еще раз помочь? Был бы очень признателен
К сообщению приложен файл: __.xlsb (77.3 Kb)


Сообщение отредактировал alekuvaldin - Понедельник, 12.10.2015, 16:49
 
Ответить
Сообщение
например, так:

Приветствую!! А сколько может потребоваться времени на написание такого файла самому если начать изучение макросов с 0?
Пытался перенести последний Ваш макрос на свой файл но не получается :( Не можете ли еще раз помочь? Был бы очень признателен

Автор - alekuvaldin
Дата добавления - 12.10.2015 в 16:49
Manyasha Дата: Вторник, 13.10.2015, 12:47 | Сообщение № 19
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 898 ±
Замечаний: 0% ±

Excel 2010, 2016
alekuvaldin, Вы не перенесли код в свой файл.
Ваш макрос расположен на скрытом листе Шаблон, скопируйте этот лист в свой файл.
В макросе идет ориентация на лист с именем "<", ее можно убрать, раз Вы новые книги сохраняете, а не листы. Это я в тот раз не углядела.
Держите скорректированный код:
[vba]
Код
Sub КопияШаблонаСписком()
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Application.Calculation = xlCalculateManual
    Dim i As Long
    Sheets("Шаблон").Visible = True
    Dim rng: rng = Sheets("ТО").Range("n3:n" & Sheets("ТО").Cells(Rows.Count, "n").End(xlUp).Row)
    With CreateObject("Scripting.Dictionary"): .CompareMode = 1
        For i = LBound(rng, 1) To UBound(rng, 1)
            If .Item(Trim(rng(i, 1))) <> "" Then .Item(Trim(rng(i, 1))) = .Item(Trim(rng(i, 1))) + 1
        Next i
        Dim arrKeys: arrKeys = .keys
        For i = 0 To UBound(arrKeys)
            Sheets("Шаблон").Copy
            With ActiveWorkbook
                .ActiveSheet.Name = arrKeys(i)
                Application.Calculation = xlAutomatic
                .Sheets(arrKeys(i)).UsedRange = Sheets(arrKeys(i)).UsedRange.Value
                Application.Calculation = xlCalculateManual
                .SaveAs Replace(ThisWorkbook.Path & "\" & arrKeys(i) & ".xlsx", """", "")
                .Close
            End With
        Next i
    End With
    Sheets("Шаблон").Visible = False
    Application.Calculation = xlAutomatic
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
End Sub
[/vba]
Кстати, сам макрос, я бы тоже положила в обычный модуль, а не в модуль листа...


ЯД: 410013299366744 WM: R193491431804
 
Ответить
Сообщениеalekuvaldin, Вы не перенесли код в свой файл.
Ваш макрос расположен на скрытом листе Шаблон, скопируйте этот лист в свой файл.
В макросе идет ориентация на лист с именем "<", ее можно убрать, раз Вы новые книги сохраняете, а не листы. Это я в тот раз не углядела.
Держите скорректированный код:
[vba]
Код
Sub КопияШаблонаСписком()
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Application.Calculation = xlCalculateManual
    Dim i As Long
    Sheets("Шаблон").Visible = True
    Dim rng: rng = Sheets("ТО").Range("n3:n" & Sheets("ТО").Cells(Rows.Count, "n").End(xlUp).Row)
    With CreateObject("Scripting.Dictionary"): .CompareMode = 1
        For i = LBound(rng, 1) To UBound(rng, 1)
            If .Item(Trim(rng(i, 1))) <> "" Then .Item(Trim(rng(i, 1))) = .Item(Trim(rng(i, 1))) + 1
        Next i
        Dim arrKeys: arrKeys = .keys
        For i = 0 To UBound(arrKeys)
            Sheets("Шаблон").Copy
            With ActiveWorkbook
                .ActiveSheet.Name = arrKeys(i)
                Application.Calculation = xlAutomatic
                .Sheets(arrKeys(i)).UsedRange = Sheets(arrKeys(i)).UsedRange.Value
                Application.Calculation = xlCalculateManual
                .SaveAs Replace(ThisWorkbook.Path & "\" & arrKeys(i) & ".xlsx", """", "")
                .Close
            End With
        Next i
    End With
    Sheets("Шаблон").Visible = False
    Application.Calculation = xlAutomatic
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
End Sub
[/vba]
Кстати, сам макрос, я бы тоже положила в обычный модуль, а не в модуль листа...

Автор - Manyasha
Дата добавления - 13.10.2015 в 12:47
alekuvaldin Дата: Четверг, 15.10.2015, 18:42 | Сообщение № 20
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
alekuvaldin, Вы не перенесли код в свой файл.
Ваш макрос расположен на скрытом листе Шаблон, скопируйте этот лист в свой файл.
В макросе идет ориентация на лист

Спасибо приогромное за Вашу помощь!
Вот так еще помогли - в файле прикрепил
К сообщению приложен файл: 1246372.xlsb (70.9 Kb)
 
Ответить
Сообщение
alekuvaldin, Вы не перенесли код в свой файл.
Ваш макрос расположен на скрытом листе Шаблон, скопируйте этот лист в свой файл.
В макросе идет ориентация на лист

Спасибо приогромное за Вашу помощь!
Вот так еще помогли - в файле прикрепил

Автор - alekuvaldin
Дата добавления - 15.10.2015 в 18:42
Мир MS Excel » Вопросы и решения » Вопросы по Excel » автоматическое заполнение таблицы (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!