Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Выбор и построение базы данных / 11 сообщений из 11, страница 1 из 1
30.11.2007, 15:56:35
    #34978607
TVFree
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор и построение базы данных
Имеются два списка с данными "Артикл" "Наименование" "Колво" , требуется построить третий список используя "наименование" и "колво" первого списка, проводя сравнение по "Артикл", строго соблюдая строчную очередность второго списка и все новые позиции первого списка добавляя в конец формируемого третьего списка. Пример в файле.
...
Рейтинг: 0 / 0
30.11.2007, 17:36:51
    #34978950
TVFree
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор и построение базы данных
Помогите! Плиз! Неужели это такая непосильная задача?
...
Рейтинг: 0 / 0
01.12.2007, 12:34:55
    #34979604
vbapro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор и построение базы данных
...
Рейтинг: 0 / 0
01.12.2007, 13:10:14
    #34979631
TVFree
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор и построение базы данных
vbaproСпасибо огромное за заботу :) Но есть небольшая неточность, скрипт пропускает раздел "Заморозка" из второго списка, а он должен переноситься строго за "Укроп зеленый" иначе говоря: должен находиться в списке №3 строго в тойже строке, как и в списке №2. И такие разделы переодически будут появляться еще и возможно несколько разделов подряд.
...
Рейтинг: 0 / 0
01.12.2007, 13:28:54
    #34979650
TVFree
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор и построение базы данных
Чуть не забыл! В колво при некруглом числе, разделитель должен быть . (точка)
...
Рейтинг: 0 / 0
01.12.2007, 14:34:25
    #34979692
vbapro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор и построение базы данных
TVFree vbaproСпасибо огромное за заботу :) Но есть небольшая неточность, скрипт пропускает раздел "Заморозка" из второго списка, а он должен переноситься строго за "Укроп зеленый" иначе говоря: должен находиться в списке №3 строго в тойже строке, как и в списке №2. И такие разделы переодически будут появляться еще и возможно несколько разделов подряд.Строго говоря, там нет артикула, а с пустым артикулом может идти еще что-то. Это уже другая задача..
...
Рейтинг: 0 / 0
01.12.2007, 14:50:10
    #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
08.12.2007, 03:14:05
    #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
08.12.2007, 04:15:51
    #34995635
KL (XL)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор и построение базы данных
А за что браться то? Вот же он код - копируй. И нет, программирование мое хобби, а не профессия :-)

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


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