2014-02-13 7 views
-1

У меня есть отчет, в котором есть список делегатов и продуктов, с которыми они подписались.Сценарий Excel VBA для перехода данных

Report

Как вы можете видеть Нино Росси подписался на 3 вещи: конференции и двух мастерских, где Джон Смит подписался только для участия в конференции. Я хотел бы сделать сценарий VBA, которые могли бы помочь мне сделать переход продуктов, как на следующей картинке:

enter image description here

+0

Нажмите «Сохранить макрос» и приступайте к выполнению при необходимости. – pnuts

+0

Дело в том, что это только пример. Отчет, который у меня есть, будет генерироваться регулярно с разными значениями. Я вручную удалил дополнительные имена, где он не будет работать для следующего отчета. Поэтому он должен идентифицировать записи сам по себе – mgunia

+0

Мне кажется, вы хотите оплатить консультанта. Стек предназначен для помощи в программировании, I.E. когда вы застреваете в определенной строке кода или функции. Мне кажется, вы просто ищете кого-то, чтобы закодировать его для вас. – user1759942

ответ

0

Ну, по крайней мере, вы можете использовать эту функцию, чтобы возвратить продукты, разделенные " "

Function GetProducts(ByVal name As String, NameRange As Range) As String 
Dim S As String, M, r As Long, Fadd 
Set M = NameRange.Find(what:=name, LookIn:=xlValues, lookat:=xlWhole, _ 
searchorder:=xlByRows, MatchCase:=False) 
If M Is Nothing Then 
GetProducts = "" 
Else 
S = M.Offset(0, 1).Value 
Fadd = M.Address 
Set M = NameRange.Find(what:=name, after:=M) 
Do While M.Address <> Fadd 
    S = S & ", " & M.Offset(0, 1).Value 
    Set M = NameRange.Find(what:=name, after:=M) 
Loop 
GetProducts = S 
End If 
End Function 

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

Смежные вопросы