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

Вход

Регистрация

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

 

= Мир MS Excel/Перенос строк между листами при условии дат - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Перенос строк между листами при условии дат (Макросы/Sub)
Перенос строк между листами при условии дат
VIDEO56 Дата: Четверг, 03.03.2016, 08:27 | Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 262
Репутация: 23 ±
Замечаний: 0% ±

Excel 2010
Всем весеннего настроения и мое почтения.
На форуме аналогичная тема возникала и не раз. Но вот адаптировать макрос под свой файл пока не хватает сала в голове.
Задача в следующем. На листе база есть данные которые вносятся менеджерами (встречи, звонки). Нужно, чтобы данные действия переносились в лист соответствующий месяцу назначенной даты (столб А).
К сообщению приложен файл: 1861750.xlsm (15.8 Kb)


Всем удачного дня!
 
Ответить
СообщениеВсем весеннего настроения и мое почтения.
На форуме аналогичная тема возникала и не раз. Но вот адаптировать макрос под свой файл пока не хватает сала в голове.
Задача в следующем. На листе база есть данные которые вносятся менеджерами (встречи, звонки). Нужно, чтобы данные действия переносились в лист соответствующий месяцу назначенной даты (столб А).

Автор - VIDEO56
Дата добавления - 03.03.2016 в 08:27
_Boroda_ Дата: Четверг, 03.03.2016, 09:15 | Сообщение № 2
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16666
Репутация: 6478 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Взаимно, и Вам также.У нас вчера перед выходом из метро негребли кучу снега метра 4 высотой - сразу видно, что весна началась!

Так нужно?
Одинаковая формула для всех листов сразу
Код
=ЕСЛИОШИБКА(ИНДЕКС(База!A$1:A$999;НАИМЕНЬШИЙ(ЕСЛИ(База!$A$2:$A$999*(ТЕКСТ(База!$A$2:$A$999;"ММММ")=ПСТР(ЯЧЕЙКА("имяфайла";A2);ПОИСК("]";ЯЧЕЙКА("имяфайла";A2))+1;9));СТРОКА(База!A$2:A$999));СТРОКА(A1)));"")

Кусок База!$A$2:$A$999* вставлен для того, чтобы в январе не было нулей вместо пусто. Если вместо пусто нужны нули, то вот так можно
Код
=ЕСЛИОШИБКА(ИНДЕКС(База!A$1:A$999;НАИМЕНЬШИЙ(ЕСЛИ(ТЕКСТ(База!$A$2:$A$999;"ММММ")=ПСТР(ЯЧЕЙКА("имяфайла";A2);ПОИСК("]";ЯЧЕЙКА("имяфайла";A2))+1;9);СТРОКА(База!A$2:A$999));СТРОКА(A1)));)


Добавлено
Что-то я не проснулся еще - не заметил, что вопрос в ветке VBA.
К сообщению приложен файл: 1861750_1.xlsm (41.2 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995


Сообщение отредактировал _Boroda_ - Четверг, 03.03.2016, 09:22
 
Ответить
СообщениеВзаимно, и Вам также.У нас вчера перед выходом из метро негребли кучу снега метра 4 высотой - сразу видно, что весна началась!

Так нужно?
Одинаковая формула для всех листов сразу
Код
=ЕСЛИОШИБКА(ИНДЕКС(База!A$1:A$999;НАИМЕНЬШИЙ(ЕСЛИ(База!$A$2:$A$999*(ТЕКСТ(База!$A$2:$A$999;"ММММ")=ПСТР(ЯЧЕЙКА("имяфайла";A2);ПОИСК("]";ЯЧЕЙКА("имяфайла";A2))+1;9));СТРОКА(База!A$2:A$999));СТРОКА(A1)));"")

Кусок База!$A$2:$A$999* вставлен для того, чтобы в январе не было нулей вместо пусто. Если вместо пусто нужны нули, то вот так можно
Код
=ЕСЛИОШИБКА(ИНДЕКС(База!A$1:A$999;НАИМЕНЬШИЙ(ЕСЛИ(ТЕКСТ(База!$A$2:$A$999;"ММММ")=ПСТР(ЯЧЕЙКА("имяфайла";A2);ПОИСК("]";ЯЧЕЙКА("имяфайла";A2))+1;9);СТРОКА(База!A$2:A$999));СТРОКА(A1)));)


Добавлено
Что-то я не проснулся еще - не заметил, что вопрос в ветке VBA.

Автор - _Boroda_
Дата добавления - 03.03.2016 в 09:15
KuklP Дата: Четверг, 03.03.2016, 09:20 | Сообщение № 3
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
[vba]
Код
Public Sub www()
    Dim I&
    For I = [a65536].End(xlUp).Row To 2 Step -1
        Me.Cells(I, 1).Resize(, 9).Copy Sheets(Month(Me.Cells(I, 1).Value) + 1).[a65536].End(xlUp).Offset(1)
    Next
    Me.[a1].CurrentRegion.Offset(1).ClearContents
End Sub
[/vba]
К сообщению приложен файл: 6030580.xlsm (27.1 Kb)


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
Сообщение[vba]
Код
Public Sub www()
    Dim I&
    For I = [a65536].End(xlUp).Row To 2 Step -1
        Me.Cells(I, 1).Resize(, 9).Copy Sheets(Month(Me.Cells(I, 1).Value) + 1).[a65536].End(xlUp).Offset(1)
    Next
    Me.[a1].CurrentRegion.Offset(1).ClearContents
End Sub
[/vba]

Автор - KuklP
Дата добавления - 03.03.2016 в 09:20
VIDEO56 Дата: Четверг, 03.03.2016, 09:20 | Сообщение № 4
Группа: Проверенные
Ранг: Обитатель
Сообщений: 262
Репутация: 23 ±
Замечаний: 0% ±

Excel 2010
Александр, спасибо, как вариант конечно классно,но хотелось бы чтобы в листах были данные а не формулы, т.к. менеджер потом меняет или дополняет комментарии.


Всем удачного дня!
 
Ответить
СообщениеАлександр, спасибо, как вариант конечно классно,но хотелось бы чтобы в листах были данные а не формулы, т.к. менеджер потом меняет или дополняет комментарии.

Автор - VIDEO56
Дата добавления - 03.03.2016 в 09:20
VIDEO56 Дата: Четверг, 03.03.2016, 09:36 | Сообщение № 5
Группа: Проверенные
Ранг: Обитатель
Сообщений: 262
Репутация: 23 ±
Замечаний: 0% ±

Excel 2010
Сергей, то что нужно, единственное что нужно чтобы данные копировались из последней заполненной строки.


Всем удачного дня!
 
Ответить
СообщениеСергей, то что нужно, единственное что нужно чтобы данные копировались из последней заполненной строки.

Автор - VIDEO56
Дата добавления - 03.03.2016 в 09:36
VIDEO56 Дата: Четверг, 03.03.2016, 09:37 | Сообщение № 6
Группа: Проверенные
Ранг: Обитатель
Сообщений: 262
Репутация: 23 ±
Замечаний: 0% ±

Excel 2010
Ой прошу прощения. Все работает так как нужно.


Всем удачного дня!
 
Ответить
СообщениеОй прошу прощения. Все работает так как нужно.

Автор - VIDEO56
Дата добавления - 03.03.2016 в 09:37
VIDEO56 Дата: Четверг, 03.03.2016, 09:54 | Сообщение № 7
Группа: Проверенные
Ранг: Обитатель
Сообщений: 262
Репутация: 23 ±
Замечаний: 0% ±

Excel 2010
В чем может быть проблема??? Макрос не выполняется!
К сообщению приложен файл: 9180297.jpg (39.9 Kb)


Всем удачного дня!
 
Ответить
СообщениеВ чем может быть проблема??? Макрос не выполняется!

Автор - VIDEO56
Дата добавления - 03.03.2016 в 09:54
KuklP Дата: Четверг, 03.03.2016, 09:56 | Сообщение № 8
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Макрос должен быть в модуле листа, откуда копировать.


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеМакрос должен быть в модуле листа, откуда копировать.

Автор - KuklP
Дата добавления - 03.03.2016 в 09:56
VIDEO56 Дата: Четверг, 03.03.2016, 10:03 | Сообщение № 9
Группа: Проверенные
Ранг: Обитатель
Сообщений: 262
Репутация: 23 ±
Замечаний: 0% ±

Excel 2010
Сергей, все таки макрос копирует весь диапазон. Как сделать чтобы копировалась только последняя строка


Всем удачного дня!
 
Ответить
СообщениеСергей, все таки макрос копирует весь диапазон. Как сделать чтобы копировалась только последняя строка

Автор - VIDEO56
Дата добавления - 03.03.2016 в 10:03
KuklP Дата: Четверг, 03.03.2016, 10:15 | Сообщение № 10
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Что значит -
все таки макрос
?
А где у Вас про последнюю строку сказано? Тогда совсем просто.
[vba]
Код
Public Sub www()
    Dim I&
    I = [a65536].End(xlUp).Row
    Me.Cells(I, 1).Resize(, 9).Copy Sheets(Month(Me.Cells(I, 1).Value) + 1).[a65536].End(xlUp).Offset(1)
End Sub
[/vba]


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеЧто значит -
все таки макрос
?
А где у Вас про последнюю строку сказано? Тогда совсем просто.
[vba]
Код
Public Sub www()
    Dim I&
    I = [a65536].End(xlUp).Row
    Me.Cells(I, 1).Resize(, 9).Copy Sheets(Month(Me.Cells(I, 1).Value) + 1).[a65536].End(xlUp).Offset(1)
End Sub
[/vba]

Автор - KuklP
Дата добавления - 03.03.2016 в 10:15
VIDEO56 Дата: Четверг, 03.03.2016, 10:31 | Сообщение № 11
Группа: Проверенные
Ранг: Обитатель
Сообщений: 262
Репутация: 23 ±
Замечаний: 0% ±

Excel 2010
Сергей, спасибо. То что нужно. А для ликбеза не подскажешь, как макрос листа запустить из другого макроса. Буду признателен!


Всем удачного дня!
 
Ответить
СообщениеСергей, спасибо. То что нужно. А для ликбеза не подскажешь, как макрос листа запустить из другого макроса. Буду признателен!

Автор - VIDEO56
Дата добавления - 03.03.2016 в 10:31
KuklP Дата: Четверг, 03.03.2016, 10:37 | Сообщение № 12
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
[vba]
Код
Application.Run "Лист1.www"
[/vba]или проще
Лист1.www
B)


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728


Сообщение отредактировал KuklP - Четверг, 03.03.2016, 10:39
 
Ответить
Сообщение[vba]
Код
Application.Run "Лист1.www"
[/vba]или проще
Лист1.www
B)

Автор - KuklP
Дата добавления - 03.03.2016 в 10:37
VIDEO56 Дата: Четверг, 03.03.2016, 10:40 | Сообщение № 13
Группа: Проверенные
Ранг: Обитатель
Сообщений: 262
Репутация: 23 ±
Замечаний: 0% ±

Excel 2010
Сергей, огромное спасибо за терпение и четкость ответов. Удачных праздников


Всем удачного дня!
 
Ответить
СообщениеСергей, огромное спасибо за терпение и четкость ответов. Удачных праздников

Автор - VIDEO56
Дата добавления - 03.03.2016 в 10:40
KuklP Дата: Четверг, 03.03.2016, 10:43 | Сообщение № 14
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
К сообщению приложен файл: 6623235.jpg (53.1 Kb)


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
Сообщение

Автор - KuklP
Дата добавления - 03.03.2016 в 10:43
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Перенос строк между листами при условии дат (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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