Как изменить разделитель при копировании из Excel?

9

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

Есть ли способ изменить разделитель без поиска и замены в Блокноте или сохранения таблицы в формате CSV?

Стефан Питерсен
источник
Обратитесь к моему ответу в другом вопросе: superuser.com/questions/206060/…
Уилсон
@wilson Stefan просит сделать это без использования Блокнота и использовать что-то кроме табуляции в качестве разделителя
Rowland Shaw
1
@RowlandShaw: Стефан сказал «без замены в блокноте», а не «без блокнота».
Каран

Ответы:

5

Я не думаю, что есть какой-либо способ изменить символ разделителя по умолчанию (например, Tab), используемый при копировании текста в буфер обмена из Excel. Однако вы можете создать макрос для достижения желаемого результата.

  1. Создайте макрос с именем что-то вроде CopySelectedCells и опционально назначьте сочетание клавиш, чтобы вы могли быстро вызывать его (например, я назначил Ctrl+ Shift+ C):

    1

  2. В главном диалоговом окне макросов, показанном выше, нажмите кнопку « Редактировать» , чтобы открыть редактор VBA.

  3. Перейдите Tools menu / Referencesи нажмите на кнопку Обзор .

  4. Добавить Windows \ System32 \ FM20.dll :

    2

  5. Выберите опцию « Библиотека объектов Microsoft Forms 2.0», которая теперь добавлена ​​в список « Доступные ссылки» :

    3

  6. Отредактируйте код макроса, чтобы он выглядел следующим образом:

    Sub CopySelectedCells()
        Dim str As String
        For Each rangeRow In Selection.Rows
            For Each rangeCol In rangeRow.Cells
                str = str & rangeCol.Value & ","
            Next
            str = Left(str, Len(str) - 1) & vbCrLf
        Next
    
        With New DataObject
            .SetText str
            .PutInClipboard
        End With
    End Sub
    
  7. Закройте редактор VBA, выберите диапазон ячеек и вызовите макрос, затем вставьте его в блокнот, чтобы увидеть результат через запятую.

Каран
источник
0

Создайте необходимые ячейки в виде строки в неиспользуемой ячейке с запятой между ними, скопируйте только эту новую ячейку и вставьте в блокнот. Например: = A1 & "," & B1

Gergő
источник
Если есть сотни столбцов, то это concatenateможет быть не лучшим вариантом, так как вы должны выбрать ячейки вручную и не можете перетаскивать ячейки, которые нужно объединить.
Прасанна
-2

Вы можете заменить все вкладки запятыми в Notepad ++. Выделите весь текст, нажмите Ctrl+ Hи используйте \tдля вкладки. Обязательно включите расширенный режим поиска.

Заменить вкладки запятыми

Майкл С.
источник
2
Чем это лучше по сравнению с заменой вкладок в блокноте?
Каран
1
Это значительное улучшение, потому что он не использует блокнот :)
Билл К