Требуется помощь VBA (объединение) - PullRequest
0 голосов
/ 03 декабря 2018

У меня есть рабочая книга, в которой в одном столбце содержится почти бесконечное количество товаров, а в каждом последующем столбце указан атрибут об этом товаре (где он находится, размер, количество в наличии и т. Д.).

Я пытаюсь разработать код, который по существу захватывает продукт и в одной строке отображает все склады, где этот продукт находится в сцепленном виде.

Однако у меня проблема с кодом, и я не могу решить ее.Для тех, кто работает лучше с визуальными эффектами,

Attached is a picture of the data base I created and the code is below

На рисунке я пытаюсь взять каждый продукт в столбце «Идентификатор продукта» и вПервая пустая ячейка в следующем пустом столбце. Я бы хотел отобразить каждый склад, в котором этот продукт разделен запятой.Кроме того, я по сути делаю v-поиск по листу «Инвентаризация» (то есть как моя таблица массивов), а код хранилища находится в столбце 4 этого листа «Инвентаризация».

Мой код:

Dim i As Long
Dim INVLast As String
Dim p As String
Dim c As Range
Dim count As Integer
p = 12

INVLast = Sheets("Inventory").Cells(Rows.count, 2).End(xlUp).Row
Sheets("Search & Find").Range("F12:G20000").ClearContents
count = 0



For i = 2 To INVLast
    If Sheets("Inventory").Cells(i, 2) = Sheets("Search & Find").Range("B12") Then
    For Each c In Range(Cells(i, 4), Cells(Rows.count, 2).End(xlUp))
        Sheets("Search & Find").Cells(p, 6) = Sheets("Inventory").Cells(i, 4).Value & ", " & c
     Next c
        p = p + 1
        c = c + 1
        count = count + 1

    End If

Next i


MsgBox "The number of warehouses that sell this product is " & "" & count
...