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.
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