Excel的文本格式macros

我试图将每个单独的单元格中的名称列表转换为每个名称之后的#列表,然后合并到一个单元格中。 我会使用什么types的macros。 所以:

Help Me Please Thank You 

(单细胞):

 #help, #me, #please, #thank, #you 

谢谢

试试这个代码:

 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) 

replace您所需的开始行,结束行和列索引。

试试这个function:

 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的答案,但是这个工作的范围,并允许Excelpipe理单元格的引用。 Sigil的函数应该是不稳定的 ,会减慢大文件的速度。

您需要在项目中添加一个模块,并将该函数放入模块中。 然后你可以在使用它的单元格上input=ConvertNames(A1:A5)来使用它。