我正在尝试将每个名称列表(每个名称在一个单独的单元格中)转换为带有#的列表,然后在每个名称逗号之前将其合并到一个单元格中。我将使用什么类型的宏。所以:
Help
Me
Please
Thank
You
进入(单细胞):
#help, #me, #please, #thank, #you
由于
答案 0 :(得分:1)
试试这段代码:
function convertNames(startRow as long,endRow as long,column as long) as string
dim result as string
for c=startRow to endRow
result=result & "#" & Cells(c,column) & ", "
next
result=left(result,len(result)-2)
convertNames=result
end function
您可以在要将结果显示为:
的单元格中调用此函数=convertNames(5,12,2)
替换您需要的起始行,结束行和列索引。
答案 1 :(得分:1)
尝试此功能:
Function ConvertNames(List As Range) As String
Dim C As Range
For Each C In List
ConvertNames = ConvertNames & "#" & C.Value2 & ", "
Next C
ConvertNames = Left(ConvertNames, Len(ConvertNames) - 2)
End Function
它的灵感来自sigil的答案,但是这个可以使用范围,并允许Excel管理对单元格的引用。 Sigil的功能应该是volatile,并且会减慢大文件的速度。
您需要向项目添加模块并将此功能放入模块中。然后,您可以通过在使用它的单元格上键入=ConvertNames(A1:A5)
来使用它。