31

我有一长串名字需要用引号括起来(可以是双引号或单引号),其中大约有 8,000 个。我在 Excel 中有它们没有任何引号,我可以复制所有名称并粘贴它们没有问题,但仍然没有引号。我一直在寻找一个 Excel 公式来为每行中的名称添加引号,但我没有运气。我也尝试了一些巧妙的查找和替换技术,但也没有奏效。我正在寻找的格式是这样的:

“艾伦”或“艾伦”

这些中的任何一个都可以。我需要这个,所以我可以将信息存储到数据库中。任何帮助是极大的赞赏。谢谢

PS:

我在网上发现其他人需要完成与我需要完成的相同的事情,并且此解决方案对他们有用,但我不知道如何处理它:

您可以通过使用范围变量(例如 myCell)来修复它,然后使用它来迭代范围对象的“选择”集合,如下所示

Sub AddQuote()
Dim myCell As Range
    For Each myCell In Selection
        If myCell.Value <> "" Then
            myCell.Value = Chr(34) & myCell.Value
        End If
    Next myCell
End Sub

另一个对其他人也有效的解决方案是:

Sub OneUglyExport()

Dim FileToSave, c As Range, OneBigOleString As String

FileToSave = Application.GetSaveAsFilename

Open FileToSave For Output As #1

For Each c In Selection

If Len(c.Text) <> 0 Then _

    OneBigOleString = OneBigOleString & ", " & Chr(34) & Trim(c.Text) & Chr(34)

Next

Print #1, Mid(OneBigOleString, 3, Len(OneBigOleString))

Close #1

End Sub
4

6 回答 6

44

从未引用的值创建新的引用值

  • A 列包含名称。
  • 将以下公式放入B列 = """" & A1 & """"
  • 复制 B 列并选择性粘贴 -> 值

使用自定义函数

Public Function Enquote(cell As Range, Optional quoteCharacter As String = """") As Variant
    Enquote = quoteCharacter & cell.value & quoteCharacter
End Function

=OfficePersonal.xls!Enquote(A1)

=OfficePersonal.xls!Enquote(A1, "'")

要获得永久引用的字符串,您必须复制公式值并粘贴特殊值。

于 2010-06-30T02:21:25.223 回答
23

假设您的数据在 A 列中,将公式添加到 B 列

="'" & A1 & "'" 

并将公式复制下来。如果您现在保存到 CSV,您应该得到引用的值。如果您需要将其保留为 Excel 格式,请复制 B 列然后粘贴值以摆脱公式。

于 2010-06-30T15:48:49.403 回答
19

更简单的步骤:

  1. 突出显示要添加引号的单元格。
  2. 转到格式->单元格->自定义
  3. 将以下内容复制/粘贴到类型字段中:\"@\"\'@\'
  4. 完毕!
于 2016-12-28T06:48:51.923 回答
7

为什么不对需要引用的单元格使用自定义格式?

如果您为单元格列设置自定义格式,则所有值都将采用该格式。

对于数字......就像一个邮政编码......它会是这个 '#' 对于字符串文本,它会是这个 '@'

您将文件保存为 csv 格式,它将根据需要在单元格数据周围包含所有引号。

于 2012-09-18T16:28:59.977 回答
7

或选择范围和格式单元格 > 自定义 \"@\"

于 2016-03-27T13:09:55.423 回答
0

如果您将 Excel 文件保存为 CSV 格式文件,您可能会发现结果很方便插入到数据库中,但我不确定是否会引用所有字段。

于 2010-06-30T01:57:07.170 回答