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