在VBA中执行此操作的伪代码:(您可以算出真实代码)。请注意,这仅写在答案中,因此您将必须填写空白,但希望您能大致了解如何遍历每个地址并收集具有与该地址匹配的列的任何名称。
dim address_on as string 'current address
dim names as string 'concatenate list of names
dim in_list_already as boolean
For address_row = 1 to range().end(xldown).row
'loop through addresses
address_on = Range("Column" & address_row).value
names = ""
'First check if address_on is already in destination list?
in_list_already = false
for check_row = 1 to range("Destination").end(xldown).row
If range("Destination Col" & check_row).value = address_on then
in_list_already = true
Exit for
End if
next
if in_list_already = false then
'Find all names that have this address
for name_row = 1 to range().end(xldown).row
If range("Address Column" & name_row).value = address_on then
names = names & Range("Name Column" & name_row).value & ","
End if
next
'remove last comma
names = names.remove(Len(names)-1,1)
'add to list
Range("Column to insert to 1" & next_slot).value = names
Range("Column to insert to 2" & next_slot).value = address_on
End if
next
如您所见names = names & Range("Name Column" & name_row).value & ","
,如果存在匹配项,则仅串联到列表上。
上面的方法是:
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句