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

Вход

Регистрация

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

 

= Мир MS Excel/Объединение дубликатов строк - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Объединение дубликатов строк (Макросы Sub)
Объединение дубликатов строк
Виталий Дата: Вторник, 24.12.2013, 10:52 | Сообщение № 1
Группа: Гости
Здравствуйте.
Есть файл "Книга1.xls". На первом листе "Лист1" - элемент "Кнопка".
Для элемента "Кнопка" (название кнопки - "Выполнить") назначен обработчик "Макрос", который осуществляет импорт
данных из файла txt в файл xls.
Обработчик нажатия кнопки описан ниже (VBA, Module1):

---------------------------------------------------------------------------------------------
[vba]
Код
Sub Макрос1()

Application.ScreenUpdating = False

ChDir "C:\Documents and Settings\PCV2\Рабочий стол"
Workbooks.OpenText Filename:= _
"C:\Documents and Settings\PCV2\Рабочий стол\sz0.txt", Origin:=1251, _
StartRow:=4, DataType:=xlFixedWidth, FieldInfo:=Array(Array(0, 2), Array(21 _
, 1), Array(29, 1), Array(38, 1), Array(46, 9), Array(52, 9), Array(59, 9), Array(63, 9), _
Array(84, 9)), TrailingMinusNumbers:=True

Windows("Книга1.xls").Activate
Windows("sz0.txt").Activate
Sheets("sz0").Select
Sheets("sz0").Move After:=Workbooks("Книга1.xls").Sheets(1)

Range("A1,B1,C1,D1").Select
Selection.Font.Bold = True
Cells.Select
Cells.EntireColumn.AutoFit
Range("A1").Select

While Not Columns(1).Find("ПЛИТА*") Is Nothing
Rows(Columns(1).Find("ПЛИТА*").Row).Delete Shift:=xlUp
Wend

Sheets("Лист1").Select

Application.ScreenUpdating = True

MsgBox1

End Sub
[/vba]
---------------------------------------------------------------------------------------------

Импортируемый txt файл имеет вид:
Символ КоличестШир. Выс.
ПЛИТА ПВХ Б 1 154 764
ПЛИТА ПВХ Б 1 654 764
ПЛИТА ПВХ М/Б 2 670 667
ПЛИТА ПВХ М/Б 2 670 667
СТЕКЛО 4 мм 28 823 823
СТЕКЛО 4 мм 8 848 823
СТЕКЛО 4 мм 14 848 823

После импорта в xls на лист1 данные имеют вид:
Символ КоличестШир. Выс.
СТЕКЛО 4 мм 28 823 823
СТЕКЛО 4 мм 8 848 823
СТЕКЛО 4 мм 14 848 823

в данном, итоговом случае есть одинаковые строки.
необходимо объединить одинаковые строки и суммировать количество.

Подскажите - как решить проблему?

Файл должен иметь вид:
Символ КоличестШир. Выс.
СТЕКЛО 4 мм 28 823 823
СТЕКЛО 4 мм 22 848 823

Заранее благодарен форумчанам, чего не могу сказать администратору.
Предполагаю, что и в данном случае он закроет тему, т.к. в правилах форума присутствует
жесткая диктатура мнений в виде ограничений на обсуждение действий администратора.
"Прикрепить" файл я не имею возможности, т.к. не зарегистрирован и нет особого желания регистрироваться,
что не запрещено структурой сайта, но запрещено правилами. Пересмотрите правила или структуру форума в данном случае.
Описать проблему, требующую решения в данном случае я обязан.
За понимание и ответ буду благодарен. Спасибо.
[admin]
не зарегистрирован и нет особого желания регистрироваться, что не запрещено структурой сайта, но запрещено правилами
Читайте правила пп 3: Гостевой доступ предназначен только для просмотра материалов сайта и чтения форума[/admin]
 
Ответить
СообщениеЗдравствуйте.
Есть файл "Книга1.xls". На первом листе "Лист1" - элемент "Кнопка".
Для элемента "Кнопка" (название кнопки - "Выполнить") назначен обработчик "Макрос", который осуществляет импорт
данных из файла txt в файл xls.
Обработчик нажатия кнопки описан ниже (VBA, Module1):

---------------------------------------------------------------------------------------------
[vba]
Код
Sub Макрос1()

Application.ScreenUpdating = False

ChDir "C:\Documents and Settings\PCV2\Рабочий стол"
Workbooks.OpenText Filename:= _
"C:\Documents and Settings\PCV2\Рабочий стол\sz0.txt", Origin:=1251, _
StartRow:=4, DataType:=xlFixedWidth, FieldInfo:=Array(Array(0, 2), Array(21 _
, 1), Array(29, 1), Array(38, 1), Array(46, 9), Array(52, 9), Array(59, 9), Array(63, 9), _
Array(84, 9)), TrailingMinusNumbers:=True

Windows("Книга1.xls").Activate
Windows("sz0.txt").Activate
Sheets("sz0").Select
Sheets("sz0").Move After:=Workbooks("Книга1.xls").Sheets(1)

Range("A1,B1,C1,D1").Select
Selection.Font.Bold = True
Cells.Select
Cells.EntireColumn.AutoFit
Range("A1").Select

While Not Columns(1).Find("ПЛИТА*") Is Nothing
Rows(Columns(1).Find("ПЛИТА*").Row).Delete Shift:=xlUp
Wend

Sheets("Лист1").Select

Application.ScreenUpdating = True

MsgBox1

End Sub
[/vba]
---------------------------------------------------------------------------------------------

Импортируемый txt файл имеет вид:
Символ КоличестШир. Выс.
ПЛИТА ПВХ Б 1 154 764
ПЛИТА ПВХ Б 1 654 764
ПЛИТА ПВХ М/Б 2 670 667
ПЛИТА ПВХ М/Б 2 670 667
СТЕКЛО 4 мм 28 823 823
СТЕКЛО 4 мм 8 848 823
СТЕКЛО 4 мм 14 848 823

После импорта в xls на лист1 данные имеют вид:
Символ КоличестШир. Выс.
СТЕКЛО 4 мм 28 823 823
СТЕКЛО 4 мм 8 848 823
СТЕКЛО 4 мм 14 848 823

в данном, итоговом случае есть одинаковые строки.
необходимо объединить одинаковые строки и суммировать количество.

Подскажите - как решить проблему?

Файл должен иметь вид:
Символ КоличестШир. Выс.
СТЕКЛО 4 мм 28 823 823
СТЕКЛО 4 мм 22 848 823

Заранее благодарен форумчанам, чего не могу сказать администратору.
Предполагаю, что и в данном случае он закроет тему, т.к. в правилах форума присутствует
жесткая диктатура мнений в виде ограничений на обсуждение действий администратора.
"Прикрепить" файл я не имею возможности, т.к. не зарегистрирован и нет особого желания регистрироваться,
что не запрещено структурой сайта, но запрещено правилами. Пересмотрите правила или структуру форума в данном случае.
Описать проблему, требующую решения в данном случае я обязан.
За понимание и ответ буду благодарен. Спасибо.
[admin]
не зарегистрирован и нет особого желания регистрироваться, что не запрещено структурой сайта, но запрещено правилами
Читайте правила пп 3: Гостевой доступ предназначен только для просмотра материалов сайта и чтения форума[/admin]

Автор - Виталий
Дата добавления - 24.12.2013 в 10:52
Pelena Дата: Вторник, 24.12.2013, 11:00 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 19176
Репутация: 4413 ±
Замечаний: ±

Excel 365 & Mac Excel
"Прикрепить" файл я не имею возможности, т.к. не зарегистрирован и нет особого желания регистрироваться

То есть Вы предлагаете отвечающему самому сделать файлы, чтобы проверить действие макроса?


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
Сообщение
"Прикрепить" файл я не имею возможности, т.к. не зарегистрирован и нет особого желания регистрироваться

То есть Вы предлагаете отвечающему самому сделать файлы, чтобы проверить действие макроса?

Автор - Pelena
Дата добавления - 24.12.2013 в 11:00
KuklP Дата: Вторник, 24.12.2013, 11:01 | Сообщение № 3
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Пересмотрите правила или структуру форума в данном случае.
Охренеть! Ща специально для Вас и Правила перепишут и структуру изменят. Вы че-нить про устав в чужом монастыре слыхали? Не нравятся правила - до свидания! Ваши каракули в теме разбирать неинтересно. Да и не нам это надо, а Вам.


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
Сообщение
Пересмотрите правила или структуру форума в данном случае.
Охренеть! Ща специально для Вас и Правила перепишут и структуру изменят. Вы че-нить про устав в чужом монастыре слыхали? Не нравятся правила - до свидания! Ваши каракули в теме разбирать неинтересно. Да и не нам это надо, а Вам.

Автор - KuklP
Дата добавления - 24.12.2013 в 11:01
Виталий Дата: Вторник, 24.12.2013, 11:05 | Сообщение № 4
Группа: Гости
нет. невозможно прикрепить файл будучи не зарегистрированным. получается, что надо регистрироваться.
 
Ответить
Сообщениенет. невозможно прикрепить файл будучи не зарегистрированным. получается, что надо регистрироваться.

Автор - Виталий
Дата добавления - 24.12.2013 в 11:05
Виталий Дата: Вторник, 24.12.2013, 11:08 | Сообщение № 5
Группа: Гости
научитесь уважать мнение другого. может быть вам и не интересно, а другим может быть интересно. еще раз повторяю - научитесь уважать мнение других. тоже-самое и по тексту вашего ответа. хамло.
[moder]Тема закрыта. Причина: нарушение п.п. 3, 5a,b Правил форума[/moder]
 
Ответить
Сообщениенаучитесь уважать мнение другого. может быть вам и не интересно, а другим может быть интересно. еще раз повторяю - научитесь уважать мнение других. тоже-самое и по тексту вашего ответа. хамло.
[moder]Тема закрыта. Причина: нарушение п.п. 3, 5a,b Правил форума[/moder]

Автор - Виталий
Дата добавления - 24.12.2013 в 11:08
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Объединение дубликатов строк (Макросы Sub)
  • Страница 1 из 1
  • 1
Поиск:

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