【问题标题】:How to add single quote and comma to all values in a column?如何将单引号和逗号添加到列中的所有值?
【发布时间】:2017-03-20 22:39:19
【问题描述】:

我有一列 host 具有以下值:

server1.abc.com
server2.abc.com
server3

现在,我希望这些值中的每一个都是单引号并用逗号分隔。输出应如下所示:

'server1.abc.com','server2.abc.com','server3'

请告诉我如何使用 Excel 来实现。

到目前为止,我可以使用 , 和以下代码分隔值:

Public Function MergeME(r As Range) As String
  MergeME = Join(Application.Transpose(r.Value), ",")
End Function

如何在每个单元格中的值周围添加双引号??

【问题讨论】:

  • 你是双引号还是单引号?根据您的需要,答案会有轻微的差异。 (双引号必须在字符串中转义,单引号不需要。)

标签: vba excel excel-formula excel-2010


【解决方案1】:

您的原始 UDF 已接近。您只需加入',' 而不是,,然后将' 放在输出字符串的开头和结尾

Public Function MergeME(r As Range) As String
  MergeME = "'" & Join(Application.Transpose(r.Value), "','") & "'"
End Function

根据需要输出字符串:

'server1.abc.com','server2.abc.com','server3'

【讨论】:

  • 只是想知道',' 有何不同
  • @me24hour, JOIN({a,b,c},"*") 返回字符串:a*b*c 因此JOIN({a,b,c},"','") 返回a','b','c 所以剩下的就是在开头和结尾添加撇号
【解决方案2】:

A1A3 中的数据,在 B1 中输入:

="'"

(这是用双引号括起来的单引号)

然后在B2

=B1 & A1 & B1 & "," & B1 & A2 & B1 & "," & B1 & A3 & B1

【讨论】:

  • 如何修改公式以考虑1000 values in ColumnA
  • 我已经编辑了我的问题并添加了一个使用逗号分隔值的 UDF。我需要帮助在它周围添加双引号。
  • 选择 A 列并使用编辑/替换和替换 ',' 为“,”或“','”,具体取决于您的需要。
【解决方案3】:

不需要任何函数或 VBA

In cell B1 input this = CHAR(39)
In cell C1 input this ,
In cell D1 = CONCAT($B$1,A1,$B$1,$C$1)
In cell D2 = CONCAT(D1,$B$1,A2,$B$1,$C$1)

从 D2 - D(x) 这是自动化的,您可以将单元格 D2 复制到单元格 D3 产生以下结果:

in cell D3 = CONCAT(D2,$B$1,A3,$B$1,$C$1)

您可以通过查找在 Dx 列中找到最大的长度,然后得到您的最终输出字符串;我在这里没有这样做——我添加了以下内容:

In cell E3 = LEN(D3) 

我把最后一个逗号去掉:

In cell F2 = LEFT(D3,E3-1)

非常自动化的任务

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-13
    • 1970-01-01
    • 2019-07-06
    • 2020-03-02
    • 2016-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多