Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/18: Рейтинг темы: голосов - 18, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 12.10.2012
Сообщений: 8

Необходимо сопоставить два столбца excel

15.10.2012, 14:02. Показов 3695. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток уважаемые форумчане!
Прошу вашей помощи.
С 1 задачей справились , теперь часть два

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

в 1 строчке справа красным шрифтом в документе сделан пример.
Заранее спасибо, с уважением, Иван.
Вложения
Тип файла: xlsx For_Forum.xlsx (46.1 Кб, 130 просмотров)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.10.2012, 14:02
Ответы с готовыми решениями:

Необходимо сравнить два столбца А и B , а в С записать истина или ложь
Доброе время суток. Не могли бы вы мне помочь с таким вопросом? Необходимо сравнить два столбца А и B , а в С записать истина или ложь. В...

Как с одного столбца выдергнуть группы данных и снова сгрупировать в два столбца по порядку
Доброго времени суток, профессионалы!!! В данном направлении я почти 0 на палочке, но всё-же мне необходимо это сделать. Суть в том,...

MS Word - макрос, который добавляет в таблицу два смежных столбца слева от заданного столбца
Вот задание, помогите пожалуйста!) MS Word - макрос, который добавляет в таблицу два смежных столбца слева от заданного столбца.

10
5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,576
15.10.2012, 15:10
menshikovivan, т.е. задача такая:
  1. идём сверху вниз по столбцу A;
  2. берём данные из ячейки столбца A и ищем такие же данные в столбце G;
  3. если совпадение найдено, то переносим данные в столбец P.
Такой алгоритм?
1
0 / 0 / 0
Регистрация: 12.10.2012
Сообщений: 8
15.10.2012, 15:33  [ТС]
Цитата Сообщение от Скрипт Посмотреть сообщение
menshikovivan, т.е. задача такая:
  1. идём сверху вниз по столбцу A;
  2. берём данные из ячейки столбца A и ищем такие же данные в столбце G;
  3. если совпадение найдено, то переносим данные в столбец P.
Такой алгоритм?
Практически.
Я немного неверно сделал пример, прошу прощения.
По поводу сравнения - да, именно так.
А вот дальше - если допустим параметр в ячейке А4 и параметр в ячейке G8 равны, то из B4 и C4 необходимо перенести информацию в O8 и P8 соответственно
0
5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,576
15.10.2012, 15:51
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
Sub Макрос1()
 
    'Здесь нужно указать, с какой строки начинаются данные.
    Const lНачальнаяСтрока As Long = 4
 
    Dim rFind As Excel.Range, sAddress As String
    Dim i As Long
    
    'Указываем, с какой строки начать двигаться по столбцу A.
    i = lНачальнаяСтрока
    
    'Отключаем обновление монитора, чтобы код работал быстрее.
    Application.ScreenUpdating = False
    
    'Двигаемся по столбцу A, пока не достигнем пустой ячейки.
    Do While IsEmpty(Cells(i, "A")) = False
        
        'Ведём поиск в столбце G.
        With Columns("G")
            Set rFind = .Find(What:=Cells(i, "A").Text, LookIn:=xlValues, _
                LookAt:=xlWhole, SearchOrder:=xlByColumns, SearchDirection:=xlNext, _
                MatchCase:=False, SearchFormat:=False)
                
            If Not rFind Is Nothing Then
                'Запоминаем первуню найденную ячейку в столбце G,
                'чтобы затем остановить цикл поиска.
                sAddress = rFind.Address
                
                Do
                    
                    'Заносим данные в столбцы O и P.
                    Cells(rFind.Row, "O").Value = Cells(i, "B").Value
                    Cells(rFind.Row, "P").Value = Cells(i, "C").Value
                    
                    'Ищем дальше в столбце G.
                    Set rFind = .FindNext(rFind)
                    
                Loop While sAddress <> rFind.Address
                
            End If
 
        End With
        
        
        'Переход к следующей строке в столбце A.
        i = i + 1
        
    Loop
    
    'Включаем обновление монитора.
    Application.ScreenUpdating = True
    
    'Сообщение, что работа завершена.
    MsgBox "Работа завершена!", vbInformation
 
End Sub
1
0 / 0 / 0
Регистрация: 12.10.2012
Сообщений: 8
15.10.2012, 16:02  [ТС]
Скрипт, Спасибо, видимо то что надо. Но несколько некорректно переносит данные - по строкам не совпадение происходит.
Может я что то не так делаю?
В том документе который лежит в приложении к 1 посту нажимаю "создание макроса" вставляю туда ваш код, и нажимаю выполнить, после чего вылезает чекбокс с фразой что все успешно выполнено.
0
5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,576
15.10.2012, 16:04
Цитата Сообщение от menshikovivan Посмотреть сообщение
Но несколько некорректно переносит данные - по строкам не совпадение происходит.
напишите, в какой строке получаются неправильные данные после выполнения кода.
1
0 / 0 / 0
Регистрация: 12.10.2012
Сообщений: 8
15.10.2012, 16:10  [ТС]
Цитата Сообщение от Скрипт Посмотреть сообщение
напишите, в какой строке получаются неправильные данные после выполнения кода.
Ну как то так, смотрите.
В архиве файл excel с макросом.
http://online2.drweb.com/cache... cc55794871
Вложения
Тип файла: rar For_Forum_2.rar (53.3 Кб, 76 просмотров)
0
5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,576
15.10.2012, 16:12
menshikovivan, напишите номер строки, где неправильный результат, и напишите, как должно получиться.
1
0 / 0 / 0
Регистрация: 12.10.2012
Сообщений: 8
16.10.2012, 10:51  [ТС]
Цитата Сообщение от Скрипт Посмотреть сообщение
menshikovivan, напишите номер строки, где неправильный результат, и напишите, как должно получиться.
Спасибо большое, задача наверное пока приостановлена, была обнаружена ошибка в обработчике на пару шагов раньше =(.
Будем решать проблему, спасибо за помощь.
0
5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,576
16.10.2012, 10:54
Цитата Сообщение от menshikovivan Посмотреть сообщение
была обнаружена ошибка в обработчике на пару шагов раньше =(.
о каком обработчике идёт речь?
1
0 / 0 / 0
Регистрация: 12.10.2012
Сообщений: 8
16.10.2012, 11:48  [ТС]
Цитата Сообщение от Скрипт Посмотреть сообщение
о каком обработчике идёт речь?
Ну, есть прайс лист от поставщика, а есть обработчик http://tyresaddict.ru/help/databases/link чьим форматом надо воспользоваться. Где то на уровне обработки была ошибка.

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

С уважением, Иван.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.10.2012, 11:48
Помогаю со студенческими работами здесь

Создайте макрос для Word, добавляющий в таблицу два смежных столбца слева от заданного столбца
уважаемые, помогите пожалуйста студенту перого курса нужно решить задачку. через VBA с помощью создания макроса в word?? Создайте...

Считать два столбца из Excel
Доброго времени суток. Возникли трудности с чтением из файла .xls двух столбцов (значений довольно много - более 9000). Нужно считать...

Сравниваем два столбца MS Office Excel
Здравствуйте. Помогите сравнить два столбца и выделить повторяющиеся значения цветом. Простые формулы типа А=В или фильтр - повторяющиеся...

Как сравнить два столбца в Excel
Добрый день! Есть 2 столбца с данными, в первом столбце данных больше , чем во втором.Необходимо узнать, какие данные во втором столбце...

Считать два столбца из Excel-файла, каждый в свой массив
Здравствуйте,нужно считать 2 столбца из exel файла,каждый в свой масив, как это сделать? Если можно-дайте пожалуйста пример


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru