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