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

4411
hk_

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

Репро:

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

4

1 ответ на вопрос

2
Geoff

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

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

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

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

Похожие вопросы