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

Вход

Регистрация

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

 

= Мир MS Excel/Дублирование данных и фильтрация - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Дублирование данных и фильтрация
Дублирование данных и фильтрация
llirik Дата: Среда, 10.04.2013, 09:32 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 11
Репутация: 0 ±
Замечаний: 40% ±

Добрый день!
Возможно ли, сделать так, что бы при заполнении Основной таблицы, вводимые данные автоматически переносились на ЛИСТ П, З или И в зависимости от вводимого типа данных. Для примера, если в Основной таблице столбце Сторона стоит П, то эта запись автоматически переноситься на Лист П ит.д., если И, то на лист И (пс. дублироваться должна вся строка таблицы)
я нашел Тему с тем чем надо, теперь может кто нибудь объяснить, как подправить макрос, что бы он работал на моей таблице?
К сообщению приложен файл: 7396571.xls (27.5 Kb)


Сообщение отредактировал llirik - Среда, 10.04.2013, 10:39
 
Ответить
СообщениеДобрый день!
Возможно ли, сделать так, что бы при заполнении Основной таблицы, вводимые данные автоматически переносились на ЛИСТ П, З или И в зависимости от вводимого типа данных. Для примера, если в Основной таблице столбце Сторона стоит П, то эта запись автоматически переноситься на Лист П ит.д., если И, то на лист И (пс. дублироваться должна вся строка таблицы)
я нашел Тему с тем чем надо, теперь может кто нибудь объяснить, как подправить макрос, что бы он работал на моей таблице?

Автор - llirik
Дата добавления - 10.04.2013 в 09:32
AlexM Дата: Среда, 10.04.2013, 10:23 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4490
Репутация: 1115 ±
Замечаний: 0% ±

Excel 2003
Автоматически, это когда кроме заполнения таблицы делать не надо.
В задаче по ссылке для обработки таблицы надо запускать макрос, не совсем автоматически получается.
Под вашу задачу можно использовать событие на листе, по которому запустится макрос.
Но для этого надо определить событие.
Например, только после полного заполнения строки (14 ячеек) в таблице произойдет перенос или копирование.
Перенос или копирование - это вопрос. Судя по примеру надо копировать.



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
СообщениеАвтоматически, это когда кроме заполнения таблицы делать не надо.
В задаче по ссылке для обработки таблицы надо запускать макрос, не совсем автоматически получается.
Под вашу задачу можно использовать событие на листе, по которому запустится макрос.
Но для этого надо определить событие.
Например, только после полного заполнения строки (14 ячеек) в таблице произойдет перенос или копирование.
Перенос или копирование - это вопрос. Судя по примеру надо копировать.

Автор - AlexM
Дата добавления - 10.04.2013 в 10:23
llirik Дата: Среда, 10.04.2013, 10:35 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 11
Репутация: 0 ±
Замечаний: 40% ±

AlexM, событием будет ввод в ячейку значения "З", "И" или "П" в столбце Сторона.
Мне кажется, что на основании значения З,И,П должен осуществляться перенос, так как не все строки таблицы будут заполнятся, ввиду отсутствия информации.
Собственно и сама таблица носит смысл -разделение на З, П и И.
По поводу переноса и копирования, я не совсем понял.
 
Ответить
СообщениеAlexM, событием будет ввод в ячейку значения "З", "И" или "П" в столбце Сторона.
Мне кажется, что на основании значения З,И,П должен осуществляться перенос, так как не все строки таблицы будут заполнятся, ввиду отсутствия информации.
Собственно и сама таблица носит смысл -разделение на З, П и И.
По поводу переноса и копирования, я не совсем понял.

Автор - llirik
Дата добавления - 10.04.2013 в 10:35
AlexM Дата: Среда, 10.04.2013, 10:40 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4490
Репутация: 1115 ±
Замечаний: 0% ±

Excel 2003
Цитата (llirik)
По поводу переноса и копирования, я не совсем понял

Перенос - В основной таблице удалить и вставить в другую таблицу
Копирование - Вставить в другую таблицу и оставить в основной.
Цитата (llirik)
на основании значения З,И,П должен осуществляться перенос

Это плохо. Вы ставите З в пустую строку и она перенеслась в таблицу листа З. Получится что в таблицах будут накапливаться строки, в которых только буквы З, И или П



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
Сообщение
Цитата (llirik)
По поводу переноса и копирования, я не совсем понял

Перенос - В основной таблице удалить и вставить в другую таблицу
Копирование - Вставить в другую таблицу и оставить в основной.
Цитата (llirik)
на основании значения З,И,П должен осуществляться перенос

Это плохо. Вы ставите З в пустую строку и она перенеслась в таблицу листа З. Получится что в таблицах будут накапливаться строки, в которых только буквы З, И или П

Автор - AlexM
Дата добавления - 10.04.2013 в 10:40
llirik Дата: Среда, 10.04.2013, 10:46 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 11
Репутация: 0 ±
Замечаний: 40% ±

Цитата (AlexM)
Перенос - В основной таблице удалить и вставить в другую таблицу
Копирование - Вставить в другую таблицу и оставить в основной.

Выбираю пункт-Копирования, нарушение целостности Основной таблицы табу.
Цитата (AlexM)
Это плохо. Вы ставите З в пустую строку и она перенеслась в таблицу листа З. Получится что в таблицах будут накапливаться строки, в которых только буквы З, И или П

З-Заказчик, П-подрядчик, И-Иное
Эти три слова в таблице могут встречаться только в одной строке, более нигде. А можно сделать так, после внесения События копируется все ячейки строки до границы таблицы?


Сообщение отредактировал llirik - Среда, 10.04.2013, 10:48
 
Ответить
Сообщение
Цитата (AlexM)
Перенос - В основной таблице удалить и вставить в другую таблицу
Копирование - Вставить в другую таблицу и оставить в основной.

Выбираю пункт-Копирования, нарушение целостности Основной таблицы табу.
Цитата (AlexM)
Это плохо. Вы ставите З в пустую строку и она перенеслась в таблицу листа З. Получится что в таблицах будут накапливаться строки, в которых только буквы З, И или П

З-Заказчик, П-подрядчик, И-Иное
Эти три слова в таблице могут встречаться только в одной строке, более нигде. А можно сделать так, после внесения События копируется все ячейки строки до границы таблицы?

Автор - llirik
Дата добавления - 10.04.2013 в 10:46
AlexM Дата: Среда, 10.04.2013, 11:48 | Сообщение № 6
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4490
Репутация: 1115 ±
Замечаний: 0% ±

Excel 2003
Первый вариант.
Код в модуле листа "Основной"
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
Dim irow As Long
Application.EnableEvents = False
If Not Intersect(Range("B2:B" & Range("A1").End(xlDown).Row), Target) Is Nothing Then
For Each iCell In Target
If InStr("ИЗП", iCell) Then
     irow = Sheets(iCell.Value).Range("A1").End(xlDown).Row
     Rows(iCell.Row).Copy (Sheets(iCell.Value).Rows(irow + 1))
Else
     iCell.Value = ""
End If
Next
End If
Application.EnableEvents = True
End Sub
[/vba]
Букву в ячейки столбца В вбивать после заполнения строки.
Если в столбце А нет номера, то макрос не сработает.
Пробуйте, что нитак скажете.
К сообщению приложен файл: 7396571_new.xls (52.0 Kb)



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
СообщениеПервый вариант.
Код в модуле листа "Основной"
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
Dim irow As Long
Application.EnableEvents = False
If Not Intersect(Range("B2:B" & Range("A1").End(xlDown).Row), Target) Is Nothing Then
For Each iCell In Target
If InStr("ИЗП", iCell) Then
     irow = Sheets(iCell.Value).Range("A1").End(xlDown).Row
     Rows(iCell.Row).Copy (Sheets(iCell.Value).Rows(irow + 1))
Else
     iCell.Value = ""
End If
Next
End If
Application.EnableEvents = True
End Sub
[/vba]
Букву в ячейки столбца В вбивать после заполнения строки.
Если в столбце А нет номера, то макрос не сработает.
Пробуйте, что нитак скажете.

Автор - AlexM
Дата добавления - 10.04.2013 в 11:48
llirik Дата: Среда, 10.04.2013, 12:00 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 11
Репутация: 0 ±
Замечаний: 40% ±

Цитата (AlexM)
Пробуйте, что нитак скажете.

Спасибо,если что то не так сообщу.
 
Ответить
Сообщение
Цитата (AlexM)
Пробуйте, что нитак скажете.

Спасибо,если что то не так сообщу.

Автор - llirik
Дата добавления - 10.04.2013 в 12:00
AlexM Дата: Среда, 10.04.2013, 12:47 | Сообщение № 8
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4490
Репутация: 1115 ±
Замечаний: 0% ±

Excel 2003
Вариант 2
Позволяет отредактировать уже скопированную строку, внося данные на основном листе.

Перед редактированием удалить букву З, И или П из ячейки редактируемой строки. Внести изменения, вернуть букву.
К сообщению приложен файл: 7396571_new1.xls (53.0 Kb)



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.


Сообщение отредактировал AlexM - Среда, 10.04.2013, 16:05
 
Ответить
СообщениеВариант 2
Позволяет отредактировать уже скопированную строку, внося данные на основном листе.

Перед редактированием удалить букву З, И или П из ячейки редактируемой строки. Внести изменения, вернуть букву.

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

не получается, могу я Вам прислать оригинал таблицы?
 
Ответить
Сообщениене получается, могу я Вам прислать оригинал таблицы?

Автор - llirik
Дата добавления - 10.04.2013 в 13:09
AlexM Дата: Среда, 10.04.2013, 13:23 | Сообщение № 10
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4490
Репутация: 1115 ±
Замечаний: 0% ±

Excel 2003
Что не получается. Макрос не работает. Появляется ошибка. Копирует не туда. Конкретнее.



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
СообщениеЧто не получается. Макрос не работает. Появляется ошибка. Копирует не туда. Конкретнее.

Автор - AlexM
Дата добавления - 10.04.2013 в 13:23
llirik Дата: Среда, 10.04.2013, 13:30 | Сообщение № 11
Группа: Пользователи
Ранг: Новичок
Сообщений: 11
Репутация: 0 ±
Замечаний: 40% ±

Цитата (AlexM)
Что не получается. Макрос не работает. Появляется ошибка. Копирует не туда. Конкретнее.

после нажатия кнопки Выполнить макрос, более ничего не происходит.


Сообщение отредактировал llirik - Среда, 10.04.2013, 13:32
 
Ответить
Сообщение
Цитата (AlexM)
Что не получается. Макрос не работает. Появляется ошибка. Копирует не туда. Конкретнее.

после нажатия кнопки Выполнить макрос, более ничего не происходит.

Автор - llirik
Дата добавления - 10.04.2013 в 13:30
RAN Дата: Среда, 10.04.2013, 14:40 | Сообщение № 12
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Очередной вопрос - почему макрос не работает, но вам не покажу.

Откуда кнопка взялась?
Макросы AlexM с кнопки в принципе не запускаются.


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

Откуда кнопка взялась?
Макросы AlexM с кнопки в принципе не запускаются.

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

RAN, мы разобрались спасибо.
 
Ответить
СообщениеRAN, мы разобрались спасибо.

Автор - llirik
Дата добавления - 10.04.2013 в 14:49
llirik Дата: Среда, 10.04.2013, 16:31 | Сообщение № 14
Группа: Пользователи
Ранг: Новичок
Сообщений: 11
Репутация: 0 ±
Замечаний: 40% ±

Остался один вопрос, когда к таблице применяешь функцию "форматировать как таблицу", то макрос перестает работать. почему?
 
Ответить
СообщениеОстался один вопрос, когда к таблице применяешь функцию "форматировать как таблицу", то макрос перестает работать. почему?

Автор - llirik
Дата добавления - 10.04.2013 в 16:31
llirik Дата: Среда, 10.04.2013, 16:39 | Сообщение № 15
Группа: Пользователи
Ранг: Новичок
Сообщений: 11
Репутация: 0 ±
Замечаний: 40% ±

Цитата (RAN)
Очередной вопрос - почему макрос не работает, но вам не покажу.

а макрос не работал потому что:
Ошибок много было.
1. Алексей ошибся в - Подсчет строк на листах З, И и П
2. Заголовки на листах З, И и П нужны так как если их нет, то считать строки невозможно.
3. Код макроса был вставлен не в модуль листа.
4. В столбце В названия должны быть с большой буквы, так же как имена листов
 
Ответить
Сообщение
Цитата (RAN)
Очередной вопрос - почему макрос не работает, но вам не покажу.

а макрос не работал потому что:
Ошибок много было.
1. Алексей ошибся в - Подсчет строк на листах З, И и П
2. Заголовки на листах З, И и П нужны так как если их нет, то считать строки невозможно.
3. Код макроса был вставлен не в модуль листа.
4. В столбце В названия должны быть с большой буквы, так же как имена листов

Автор - llirik
Дата добавления - 10.04.2013 в 16:39
AlexM Дата: Среда, 10.04.2013, 23:35 | Сообщение № 16
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4490
Репутация: 1115 ±
Замечаний: 0% ±

Excel 2003
Цитата (llirik)
форматировать как таблицу

В Excel2003 такой функции не нашел. Не знаю что вам посоветовать.



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
Сообщение
Цитата (llirik)
форматировать как таблицу

В Excel2003 такой функции не нашел. Не знаю что вам посоветовать.

Автор - AlexM
Дата добавления - 10.04.2013 в 23:35
Serge_007 Дата: Среда, 10.04.2013, 23:42 | Сообщение № 17
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Да, она появилась в 2007


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеДа, она появилась в 2007

Автор - Serge_007
Дата добавления - 10.04.2013 в 23:42
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Дублирование данных и фильтрация
  • Страница 1 из 1
  • 1
Поиск:

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