powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Выбор и построение базы данных
11 сообщений из 11, страница 1 из 1
Выбор и построение базы данных
    #34978607
TVFree
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имеются два списка с данными "Артикл" "Наименование" "Колво" , требуется построить третий список используя "наименование" и "колво" первого списка, проводя сравнение по "Артикл", строго соблюдая строчную очередность второго списка и все новые позиции первого списка добавляя в конец формируемого третьего списка. Пример в файле.
...
Рейтинг: 0 / 0
Выбор и построение базы данных
    #34978950
TVFree
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите! Плиз! Неужели это такая непосильная задача?
...
Рейтинг: 0 / 0
Выбор и построение базы данных
    #34979604
vbapro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Выбор и построение базы данных
    #34979631
TVFree
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vbaproСпасибо огромное за заботу :) Но есть небольшая неточность, скрипт пропускает раздел "Заморозка" из второго списка, а он должен переноситься строго за "Укроп зеленый" иначе говоря: должен находиться в списке №3 строго в тойже строке, как и в списке №2. И такие разделы переодически будут появляться еще и возможно несколько разделов подряд.
...
Рейтинг: 0 / 0
Выбор и построение базы данных
    #34979650
TVFree
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Чуть не забыл! В колво при некруглом числе, разделитель должен быть . (точка)
...
Рейтинг: 0 / 0
Выбор и построение базы данных
    #34979692
vbapro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TVFree vbaproСпасибо огромное за заботу :) Но есть небольшая неточность, скрипт пропускает раздел "Заморозка" из второго списка, а он должен переноситься строго за "Укроп зеленый" иначе говоря: должен находиться в списке №3 строго в тойже строке, как и в списке №2. И такие разделы переодически будут появляться еще и возможно несколько разделов подряд.Строго говоря, там нет артикула, а с пустым артикулом может идти еще что-то. Это уже другая задача..
...
Рейтинг: 0 / 0
Выбор и построение базы данных
    #34979702
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я бы сделал несколько покороче:

Код: plaintext
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.
Option Explicit
Sub CreateTable()
    Dim tbl1 As Range
    Dim tbl2 As Range
    Dim tbl3 As Range
    Dim c As Range
    Dim cRow As Variant
    Application.ScreenUpdating = False
    With ActiveSheet
        Set tbl1 = .Range(.[E3], Cells(.Rows.Count, "E").End(xlUp)).Offset(, - 1 ).Resize(,  3 )
        Set tbl2 = .Range(.[B3], Cells(.Rows.Count, "B").End(xlUp)).Offset(, - 1 ).Resize(,  3 )
        Set tbl3 = tbl1.Offset(,  3 )
        'Copy existing table
        tbl1.Copy .[G3]
        For Each c In tbl2.Columns( 1 ).Cells
            cRow = Application.Match(c, tbl1.Columns( 1 ).Cells,  0 )
            If IsError(cRow) Then
                'Copy missing data
                c.Resize(,  3 ).Copy .Cells(.Cells(.Rows.Count, "H").End(xlUp).Row +  1 , "G")
            Else
                'Update the existing data
                tbl3(cRow,  2 ) = c.Offset(,  1 )
                tbl3(cRow,  3 ) = c.Offset(,  2 )
            End If
        Next c
    End With
End Sub

KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
Выбор и построение базы данных
    #34995624
TVFree
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
KL (XL)Я бы сделал несколько покороче:

Код: plaintext
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.
Option Explicit
Sub CreateTable()
    Dim tbl1 As Range
    Dim tbl2 As Range
    Dim tbl3 As Range
    Dim c As Range
    Dim cRow As Variant
    Application.ScreenUpdating = False
    With ActiveSheet
        Set tbl1 = .Range(.[E3], Cells(.Rows.Count, "E").End(xlUp)).Offset(, - 1 ).Resize(,  3 )
        Set tbl2 = .Range(.[B3], Cells(.Rows.Count, "B").End(xlUp)).Offset(, - 1 ).Resize(,  3 )
        Set tbl3 = tbl1.Offset(,  3 )
        'Copy existing table
        tbl1.Copy .[G3]
        For Each c In tbl2.Columns( 1 ).Cells
            cRow = Application.Match(c, tbl1.Columns( 1 ).Cells,  0 )
            If IsError(cRow) Then
                'Copy missing data
                c.Resize(,  3 ).Copy .Cells(.Cells(.Rows.Count, "H").End(xlUp).Row +  1 , "G")
            Else
                'Update the existing data
                tbl3(cRow,  2 ) = c.Offset(,  1 )
                tbl3(cRow,  3 ) = c.Offset(,  2 )
            End If
        Next c
    End With
End Sub

KL
[MVP - Microsoft Excel]
Возмешся сделать? Пиши на lsg живность list точка ru
...
Рейтинг: 0 / 0
Выбор и построение базы данных
    #34995635
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А за что браться то? Вот же он код - копируй. И нет, программирование мое хобби, а не профессия :-)

KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
Выбор и построение базы данных
    #34995772
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сделал пример ещё в первый день вопроса, думал что выложил. Сейчас вопрос поднялся посмотрел нет моего примера.
Вообщем выкладываю пример на формулах, может сгодится.
...
Рейтинг: 0 / 0
Выбор и построение базы данных
    #34995774
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Выбор и построение базы данных
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]