Macro para cambiar el valor de una celda
Hola qué tal:
Nuevamente recurriendo a ti para solicitar de tu valiosa ayuda ya que como te dije estoy iniciando en esto de las macros y todavía me falla el razonamiento para las estructuras, así que me acerco a los mejores como tu para aprender.
Mira resulta que tengo una columna con valores variables y lo que necesito es que busque fila por fila para ir evaluando el valor contenido en la celda y si es negativo lo cambie a positivo y si es positivo lo deje tal cual está en la celda, ya hice este código que lo activo con un botón:
Sub Botón1_AlHacerClic()
Dim amount As Variant
amount = ActiveCell.Value
ActiveSheet.Range("D2").Select
While ActiveCell <> ""
If Selection.Value < 0 Then
convertido = amount * -1
Selection.Value = convertido
End If
Selection.Offset(1, 0).Select
Wend
End Sub
Pero no funciona ya que solo me respeta los valores positivos y a los negativos los multiplica por -1 pero solo tomando como base el 1er. Valor de la lista (o sea el valor "D2" para mi ejemplo) y lo que necesito es que cada valor de la celda lo deje en positivo pero con su valor original. ¿Qué estoy haciendo mal?
De antemano agradezco muchísimo tu atención y quedo en espera de tu gentil respuesta.
Nuevamente recurriendo a ti para solicitar de tu valiosa ayuda ya que como te dije estoy iniciando en esto de las macros y todavía me falla el razonamiento para las estructuras, así que me acerco a los mejores como tu para aprender.
Mira resulta que tengo una columna con valores variables y lo que necesito es que busque fila por fila para ir evaluando el valor contenido en la celda y si es negativo lo cambie a positivo y si es positivo lo deje tal cual está en la celda, ya hice este código que lo activo con un botón:
Sub Botón1_AlHacerClic()
Dim amount As Variant
amount = ActiveCell.Value
ActiveSheet.Range("D2").Select
While ActiveCell <> ""
If Selection.Value < 0 Then
convertido = amount * -1
Selection.Value = convertido
End If
Selection.Offset(1, 0).Select
Wend
End Sub
Pero no funciona ya que solo me respeta los valores positivos y a los negativos los multiplica por -1 pero solo tomando como base el 1er. Valor de la lista (o sea el valor "D2" para mi ejemplo) y lo que necesito es que cada valor de la celda lo deje en positivo pero con su valor original. ¿Qué estoy haciendo mal?
De antemano agradezco muchísimo tu atención y quedo en espera de tu gentil respuesta.
1 respuesta
Respuesta de kgb_elantro
1