varias una son salto que nivel medio mac lineas linea las intermedio intermedias funciones escribir dar como celda avanzadas automatico excel copy-paste

una - salto de celda automatico excel



MS Excel agrega un salto de lĂ­nea al copiar una celda (3)

MS Excel 2010 o 2007 o cualquier otra versión al copiar una celda (sin seleccionar texto de la celda) y pegar en cualquier editor agrega un salto de línea y envía el cursor a la siguiente línea. Es molesto mover el cursor hacia arriba hasta la última línea.

No parece que haya mucho trabajo para hacer que el cursor vuelva a la última línea, pero si tengo que seguir haciendo esto muchas veces como programador, me siento muy mal. ¿Alguna sugerencia si hay una configuración en Excel para detener esto?

Intenté buscar en línea, no encontré nada y también busqué las opciones de excel, no encontré nada.


Estaba copiando / pegando un archivo grande de traducciones para nuestra aplicación entre la hoja de cálculo de Excel de la empresa de traducción y nuestro código. Tener que eliminar la nueva línea cada vez me llevaba por la pared.

Al final, copié toda la hoja y la pegué en una nueva hoja de cálculo de Google Docs. Luego lo usé para mis necesidades de copia, ya que no agrega la nueva línea en la copia que hace Excel.

¡Espero que ayude!


Estoy de acuerdo en que es molesto, pero no estoy seguro de que haya algo que hacer.

Excel formatea automáticamente las celdas ... columnas delimitadas por tabulaciones, filas delimitadas por líneas (una sola celda es una fila de 1 columna).

Para verificar: en .NET, Clipboard.GetText () muestra que el formato ya está en el portapapeles

Aquí hay algunos IronPython para ilustrar:

# Copy some cells in Excel, then run the following import sys, clr clr.AddReference("System.Windows.Forms") from System.Windows.Forms import Clipboard Clipboard.GetText()


Puede crear su propia rutina de copia, que no almacena toda la celda, sino solo su valor en el portapapeles:

Sub OwnCopy() Dim DataObj As New MSForms.DataObject DataObj.SetText ActiveCell.Value ''depending what you want, you could also use .Formula here DataObj.PutInClipboard End Sub

Para poder compilar la macro, debe incluir "Biblioteca de objetos de Microsoft Forms 2.0" como referencia (en el editor de Visual Basic, vaya a Herramientas-> Referencias).

Ahora puede asignar esta macro a otro acceso directo (por ejemplo, Ctrl - Shift - C ) usando el cuadro de diálogo de ejecución de la macro predeterminada, o incluso sobrescribir Ctrl - c ejecutando Application.OnKey "^c", "OwnCopy" . Sin embargo, no recomendaría sobrescribir Ctrl - c ya que lo más probable es que desee utilizar toda la otra información que normalmente se copia con ella en cualquier otro caso que no sea pegar en un editor.

Para hacer que esto sea permanente, simplemente almacene la macro en su libro de trabajo personal.

En caso de que desee una rutina de copia más sofisticada que también pueda manejar varias celdas / áreas de selección, use este código:

Sub OwnCopy2() Dim DataObj As New MSForms.DataObject Dim lngRow As Long Dim intCol As Integer Dim c As Range Dim strClip As String Const cStrNextCol As String = vbTab Const cStrNextRow As String = vbCrLf With Selection If Not TypeOf Selection Is Range Then On Error Resume Next .Copy Exit Sub End If If .Areas.Count = 1 Then For lngRow = 1 To .Rows.Count For intCol = 1 To .Columns.Count strClip = strClip & _ Selection(lngRow, intCol).Value & cStrNextCol Next intCol strClip = Left(strClip, Len(strClip) - Len(cStrNextCol)) _ & cStrNextRow Next lngRow Else For Each c In .Cells strClip = strClip & c.Value & vbCrLf Next c End If strClip = Left(strClip, Len(strClip) - Len(cStrNextRow)) DataObj.SetText strClip DataObj.PutInClipboard End With End Sub