Как вставить двойные или одинарные кавычки - PullRequest
26 голосов
/ 30 июня 2010

У меня есть длинный список имен, которые мне нужны для кавычек (это могут быть двойные или одинарные кавычки), и у меня их около 8000.У меня они есть в 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

Ответы [ 6 ]

39 голосов
/ 30 июня 2010

Для создания новых значений в кавычках из значений без кавычек

  • Столбец 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, "'")

Чтобы получить постоянныйстроки в кавычках, вам придется скопировать значения формул и специальные-вставки.

17 голосов
/ 30 июня 2010

Предполагая, что ваши данные находятся в столбце A, добавьте формулу в столбец B

="'" & A1 & "'" 

и скопируйте формулу вниз. Если вы теперь сохраните в CSV, вы должны получить указанные значения. Если вам нужно сохранить его в формате Excel, скопируйте столбец B, затем вставьте значение, чтобы избавиться от формулы.

16 голосов
/ 28 декабря 2016

Более простые шаги:

  1. Выделите ячейки, в которые вы хотите добавить кавычки.
  2. Перейдите к Формат–> Ячейки–> Пользовательский
  3. Скопируйте / Вставьте следующее в поле Тип: \ "@ \" или \ '@ \'
  4. Готово!
7 голосов
/ 18 сентября 2012

Почему бы просто не использовать пользовательский формат для ячейки, которую нужно заключить в кавычки?

Если вы установите пользовательский формат для столбца ячейки, все значения примут этот формат.

Длячисла .... как почтовый индекс .... это будет это '#' Для текстового строки, это будет это '@'

Вы сохраните файл в формате CSV, и он будет иметь всекавычки, обернутые вокруг данных ячейки по мере необходимости.

6 голосов
/ 27 марта 2016

Или выберите диапазон и Формат ячеек> Пользовательский \ "@ \"

0 голосов
/ 30 июня 2010

Если вы сохраните файл Excel как файл формата CSV, вы можете обнаружить, что результат удобно вставить в базу данных, хотя я не уверен, что все поля будут заключены в кавычки.

...