Ayuda para cambiar el formato del signo de los valores negativos de los registros de excel

Tengo información que he bajado del sistema, pero los valores negativos vienen así: 452.31- este signo yo lo deseo adelante para que considere ese valor.

1 respuesta

Respuesta
1
Menu Formato | Celdas o Ctrl+1, en la ficha Numero busca en la lista de Categoría Personalizada, en el cuadro de texto Tipo escribe lo siguiente:
#,##0.00;-#,##0.00
Ahora te saldrá el signo negativo del lado izquierdo...
No hace el cambio en el menu Formato/Celdas..., me gustaría enviarte el attach pero no esta tu dirección. Te explico lo que trate de hacer en una macro.
Columns("A").Find("-").Activate
ActiveCell.Replace What:="-", Replacement:=""
NEGATIVO = ActiveCell.Value
ActiveCell.Value=-NEGATIVO
Pero el problema es cuando lee texto la macro manda un mensaje de error, aunque dimensione la variable. Lo estoy haciendo en una macro porque este proceso se da cuando se hace transferencia de datos del AS400 a PC con un programa llamado WinSpool y el formato negativo de los reportes del AS400 vienen como te dije anteriormente
Saludos,
Lupe
¿El valor esta considerado como número o como texto?, la cuestión es solo de formato, lo más conveniente es que me envíes tu archivo, si haces el cambio en muchas celdas, te vendría muy bien una macro, que como la veo, es cosa de cinco minutos, así que enviame tu archivo.
Aquí esta la macro, de todos modos ya te envíe copia del archivo a tu correo, por si no te llega, esta es la macro, te agradecería finalizar la pregunta, claro, sino tienes más, saludos...
Public Sub CambiarValor()
Dim c As Range
Dim sngValor As Single
'Controlador de errores
On Error Resume Next
'Seleccionamos las celdas que sean texto, las que están con el signo menos al final
'son consideradas como texto por Excel
Selection.SpecialCells(xlCellTypeConstants, 2).Select
'Si no hay errores
If Err.Number = 0 Then
'Ciclo para cada celda en la seleccion
For Each c In Selection
'Obtenemos el contenido de la celda y lo convertimos a valor
sngValor = Val(c.Value)
'Si el valor es mayor a cero y el primer carácter de la derecha es un guion
'entonces es una celda buscada
If sngValor > 0 And Right(Trim(c.Value), 1) = "-" Then
'Lo convetimos a negativo
sngValor = sngValor * -1
c.ClearFormats 'Limpiamos el formato
c.Value = sngValor 'Asignamos el valor
c.NumberFormat = "#,##0.00 ;[red]-#,##0.00 " 'Le aplicamos formato
End If
Next c
Else
'Si ocurre un error o no hay celdas nos avisa
MsgBox "Ocurrio un error, tal vez no haya celdas con texto"
Err.Clear
End If
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas