Копировать Excel ячейки копирует возврат каретки также

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

Репро:

Введите 123 в любой ячейке в Excel 2007. Нажмите на другую ячейку. Теперь щелкните правой кнопкой мыши на ячейке, которую вы только что ввели. Выберите копию. Откройте блокнот и вставьте. Обратите внимание, что возврат каретки также копируется, если в ячейке нет возврата каретки.

1 ответ

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

Но если вы копируете по одному, вы можете копировать из строки формул, а не из ячейки, тогда вы не получите возврат каретки.

Если вам нужно скопировать много ячеек, вы можете создать простой сценарий VBA, чтобы поместить содержимое выбранной ячейки в буфер обмена (затем назначить его горячей клавише).

Редактировать:

Пример макроса:

Sub CopyActiveCell()
    Dim objData As MSForms.DataObject
    Set objData = New MSForms.DataObject
    objData.SetText ActiveCell.Value
    objData.PutInClipboard
End Sub

Обратите внимание, что для этого вам нужно добавить ссылку на Microsoft Forms 2.0 Object Library (через Инструменты | Ссылки). Если вы копируете много значений, вы можете сделать это еще проще, добавив создание подпрограммы в модуле Sheet1 как

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

вместо

Sub CopyActiveCell()

Это автоматически скопирует значение ячейки каждый раз, когда вы щелкаете по ячейке, чтобы выбрать ее.

Другие вопросы по тегам