【问题标题】:How to Insert Double or Single Quotes如何插入双引号或单引号
【发布时间】:2011-03-09 22:15:06
【问题描述】:

我有一长串名字需要用引号括起来(可以是双引号或单引号),其中大约有 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

【问题讨论】:

    标签: excel vba double-quotes single-quotes


    【解决方案1】:

    更简单的步骤:

    1. 突出显示要添加引号的单元格。
    2. 转到格式–>单元格–>自定义
    3. 将以下内容复制/粘贴到类型字段中:\"@\"\'@\'
    4. 完成!

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 这怎么不能回答问题?当然,作为答案,它可能包含更多解释,但它是一个完全有效的解决方案。
      • 作为参考,如果你想使用 vba 指定数字格式,它看起来像 Range(...).NumberFormat = "\""@\"""
      【解决方案3】:

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

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

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

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

      【讨论】:

      • 这对我来说非常有效。自定义格式我的文本 (nvarchar) 列,将文件保存为 CSV,在我的编辑器中打开文件,使用一些基本的宏来插入必要的 SQL 位,我的 SQL 插入语句块已准备就绪。谢谢!
      • 这正是我想要的!谢谢!
      • 完美的解决方案,如果单元格包含数字,则使用“#”,否则使用“@”作为文本。
      【解决方案4】:

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

      ="'" & A1 & "'" 
      

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

      【讨论】:

        【解决方案5】:

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

        • A 列包含名称。
        • 将以下公式放入B列 = """" &amp; A1 &amp; """"
        • 复制 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, "'")

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

        【讨论】:

        • 嗨,当我在 B 列中输入这个公式 = """" & A1 & """" 时,它只会将 A1 中的字符串放在引号中。这很好,但是有没有办法用一个函数将 A1-A8126 放在引号中?感谢您的帮助。我不太擅长 Excel,所以感谢您的耐心等待。
        • 您可以选择带有公式的单元格,然后使用单元格选择框右下角的“抓取手柄”将其拖动。这将复制公式。或者,您可以只复制单元格并将其粘贴,这将导致公式使用正确的单元格引用进行更新。 查看帮助主题移动或复制公式
        • 哇,效果很好!但是,如果您不介意,还有一个问题和提示。我刚刚意识到我还需要在名称末尾添加一个逗号。例如:“艾伦”、“大卫”、“史密斯”等等。我试着弄乱你给我的公式,但我无法让它工作。到目前为止,我非常感谢您的帮助。
        • 如果您只想在单元格中插入单引号,您只需执行 '' 即可
        • 为什么我们不能把 " " " 这个基于正常的 excel 逻辑。为什么要 " " " " 4 引用?
        【解决方案6】:

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

        【讨论】:

        • 我试过了,但正如你所说,不幸的是,这些字段没有被引用。
        猜你喜欢
        • 1970-01-01
        • 2019-07-20
        • 2023-03-25
        • 1970-01-01
        • 1970-01-01
        • 2013-03-24
        • 2011-01-27
        • 2016-07-06
        • 1970-01-01
        相关资源
        最近更新 更多