我正在尝试将一个名称列表(每个名称都在一个单独的单元格中)转换为一个在每个名称逗号之前带有 # 的列表,然后合并到一个单元格中。我会为此使用什么类型的宏。所以:
Help
Me
Please
Thank
You
进入(单个单元格):
#help, #me, #please, #thank, #you
谢谢
试试这个功能:
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's answer,但这个适用于范围,并允许 Excel 管理对单元格的引用。Sigil 的功能应该是不稳定的,并且会减慢大文件的速度。
您需要在项目中添加一个模块并将此功能放入模块中。然后,您可以通过在使用它的单元格上键入=ConvertNames(A1:A5)
来使用它。
试试这个代码:
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)
替换您需要的起始行、结束行和列索引。