0

我正在尝试将一个名称列表(每个名称都在一个单独的单元格中)转换为一个在每个名称逗号之前带有 # 的列表,然后合并到一个单元格中。我会为此使用什么类型的宏。所以:

Help 

Me 

Please 

Thank 

You 

进入(单个单元格):

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

谢谢

4

2 回答 2

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's answer,但这个适用于范围,并允许 Excel 管理对单元格的引用。Sigil 的功能应该是不稳定的,并且会减慢大文件的速度。

您需要在项目中添加一个模块并将此功能放入模块中。然后,您可以通过在使用它的单元格上键入=ConvertNames(A1:A5)来使用它。

于 2013-08-06T19:22:51.750 回答
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)

替换您需要的起始行、结束行和列索引。

于 2013-08-06T19:09:35.037 回答