• Saltar a la navegación principal
  • Saltar al contenido principal
  • Saltar a la barra lateral principal

Tutorial Excel

Aprende Excel

¡¡¡Más de 300 lecciones de Excel GRATIS!!!
  • Inicio
  • Blog
  • Funciones
  • Gráficos
  • Trucos
  • Macros
  • Generalidades

Macro para sumar o restar una cantidad a un rango de celdas seleccionadas

Cuando trabajamos con grandes volúmenes de datos en Microsoft Excel, a menudo necesitamos realizar ajustes masivos en las cifras: incrementar precios por inflación, aplicar bonificaciones de puntos a una lista o corregir desvíos en un presupuesto.

Hacer esto celda por celda o crear columnas auxiliares con fórmulas para luego hacer un «copiado y pegado de valores» puede quitarnos mucho tiempo. Afortunadamente, existe una solución mucho más elegante y automatizada: crear una macro en VBA que sume o reste una cantidad fija directamente sobre el rango de celdas que selecciones.

En esta guía te mostramos el código paso a paso, cómo instalarlo en tu libro de Excel y cómo ejecutarlo en segundos.

¿Cómo funciona esta Macro?

El flujo de trabajo es sumamente sencillo e intuitivo:

  1. Seleccionas con el ratón las celdas numéricas que deseas modificar (pueden ser celdas continuas o salteadas).
  2. Ejecutas la macro.
  3. Se abrirá una ventana emergente (InputBox) solicitándote la cantidad a operar.
    • Si escribes un número positivo (ejemplo: 200), sumará ese importe a cada celda.
    • Si escribes un número negativo (ejemplo: -50), restará esa cantidad.
  4. La macro recorre automáticamente tu selección y actualiza los valores al instante, respetando aquellas celdas que contengan texto para no romper la tabla.

Paso 1: Código VBA de la Macro (Optimizado)

A continuación te presentamos el código listo para copiar y pegar. Incluye controles de seguridad para que, en caso de presionar «Cancelar» o escribir texto por error en la ventana emergente, el programa no devuelva un error de código.

VBA

Sub SumarRestarImportes()
    ' ====================================================================
    ' Macro para sumar o restar un importe a las celdas seleccionadas
    ' ====================================================================
    Dim rng As Range
    Dim valorEntrada As String
    Dim numeroOperar As Double
    
    ' Solicitamos al usuario el número a sumar o restar mediante un InputBox
    valorEntrada = InputBox("Introduce el número que deseas SUMAR (ej: 200) o RESTAR (ej: -50):", "Valor a operar")
    
    ' Verificamos si el usuario presionó Cancelar o dejó el cuadro vacío
    If valorEntrada = "" Then Exit Sub
    
    ' Validamos que el valor introducido sea un número real
    If IsNumeric(valorEntrada) Then
        numeroOperar = CDbl(valorEntrada)
        
        ' Desactivamos el refresco de pantalla para mayor velocidad de ejecución
        Application.ScreenUpdating = False
        
        ' Recorremos cada celda dentro de la selección realizada
        For Each rng In Selection
            ' Verificamos que la celda contenga un valor numérico y no esté vacía
            If WorksheetFunction.IsNumber(rng) And Not IsEmpty(rng) Then
                rng.Value = rng.Value + numeroOperar
            End If
        Next rng
        
        Application.ScreenUpdating = True
        MsgBox "¡Proceso completado con éxito!", vbInformation, "Operación Finalizada"
    Else
        MsgBox "Por favor, introduce un número válido.", vbExclamation, "Error de entrada"
    End If
End Sub

Paso 2: Cómo instalar la Macro en Excel

Si es la primera vez que trabajas con código VBA, sigue estos sencillos pasos para guardar la macro en tu archivo:

  1. Abre tu libro de trabajo en Excel.
  2. Presiona la combinación de teclas Alt + F11 para abrir el editor de Visual Basic for Applications (VBE).
  3. En el menú superior del editor, dirígete a Insertar > Módulo.
  4. En la ventana en blanco que aparecerá a la derecha, pega el código que te facilitamos en el paso anterior.
  5. Cierra la ventana del editor de VBA (puedes pulsar la X arriba a la derecha).

⚠️ Muy importante: Para no perder la macro al cerrar el documento, debes guardar el archivo con la extensión adecuada. Ve a Archivo > Guardar como y en el desplegable de Tipo, elige Libro de Excel habilitado para macros (*.xlsm).

Paso 3: Cómo ejecutar la Macro paso a paso

Una vez instalada, utilizarla en tu día a día requiere apenas tres clics:

  1. Selecciona las celdas: Con el ratón, sombreadas las celdas numéricas a las que quieras aplicar el incremento o decremento.
    • Tip pro: Puedes seleccionar celdas salteadas o discontinuas manteniendo presionada la tecla Ctrl mientras haces clic en ellas.
  2. Abre el menú de Macros: Presiona el atajo de teclado Alt + F8 (o ve a la pestaña Programador / Desarrollador y haz clic en Macros).
  3. Ejecuta: Haz doble clic sobre SumarRestarImportes (o selecciónala y pulsa el botón Ejecutar).
  4. Introduce el valor: En la casilla emergente escribe el número deseado (por ejemplo, 200 para sumar o -200 para restar) y pulsa Aceptar.

De inmediato verás cómo todos los valores de tu selección se recalculan automáticamente sin alterar los nombres, textos ni la estructura de tu tabla.

Alternativa rápida sin usar Macros: El Pegado Especial

Si te encuentras en un ordenador donde las macros están bloqueadas por políticas de seguridad corporativas, puedes lograr este mismo efecto utilizando la función nativa de Pegado Especial:

  1. Escribe el número que quieres sumar o restar en una celda vacía cualquiera y cópialo (Ctrl + C).
  2. Selecciona el rango de celdas objetivo.
  3. Haz clic derecho sobre la selección y elige Pegado especial > Pegado especial…
  4. En la sección Operación, marca la casilla Sumar (o Restar).
  5. Pulsa Aceptar y borra la celda auxiliar inicial.

 

Interacciones con los lectores

Comentarios

  1. Orestes dice

    01/02/2019 a las 23:44

    Codigo Para hacer UNa lista desplegable VBA, jalando desde una hoja con celda y columnas

    Responder
  2. Ivan dice

    27/02/2019 a las 22:09

    Hola! Tu ejemplo me.sirvió muchísimo… Pero sería posible que sea sensible y en Lugar de pedir el numero lo compare con otro y lo detecte solito?

    Responder
  3. Leosbel dice

    13/04/2019 a las 15:33

    Hola estoy haciendo un inventario pero cuando sino entrada y salida me da el producto existente cuando pongo un valor de salida no me resta la existencia. Me puede ayudar

    Responder
    • migmun10 dice

      18/04/2019 a las 13:05

      Si no he ententido mal tu pregunta lo mejor es hacerlo con una fórmula condicional. En esta indicas que si corresponde a una entrada sume el valor. En cambio si se indica que es una salida debe de restar. Utiliza la función SI para ello. Un saludo

      Responder
  4. victor rodriguez dice

    23/07/2022 a las 23:02

    yo sólo quiero sumarle 1 a una celda. me puedes ayudar?

    Responder
  5. ramon dice

    02/09/2022 a las 02:12

    y puedes hacer una macro que realiza una suma o resta dependiendo de un codigo, por ejemplo todos los numeros con codigo 51 se suman y todos los numeros con codigo 72 se restan. y el resultado dejarlo en cuadro.
    ojo. no busco que me sume encima de los valores es aparte el resultado, tampoco busco que exporte un archivo.

    Responder

Deja una respuesta Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Barra lateral principal

Buscar

Más de 300 trucos de Excel ¡¡¡GRATIS!!!

¡¡¡Más de 300 videos!!! gratis

Entradas y Páginas Populares

  • Traducción de funciones de Excel: Inglés - Español; Español - Inglés
    Traducción de funciones de Excel: Inglés - Español; Español - Inglés
  • Excel 2013
    Excel 2013
  • Rellenar celdas vacías con ceros (sin y con macros)
    Rellenar celdas vacías con ceros (sin y con macros)
  • Crear un diagrama de Gantt en Excel
    Crear un diagrama de Gantt en Excel
  • Crear nuevas hojas en un libro de Excel
    Crear nuevas hojas en un libro de Excel

Síguenos

  • Facebook
  • Instagram
  • YouTube
  • TikTok
Para aprovechar al máximo el potencial de Excel. Desde un nivel básico hasta un nivel experto.

Ir al blog

Mi canal de Youtube

Contacto

No te pierdas las novedades

100% libre de spam.

Sobre mí                            Aviso legal                            Política de privacidad y cookies

Gestionar el consentimiento de las cookies
Las cookies se utilizan para la personalización de anuncios".
Para ofrecer las mejores experiencias, utilizamos tecnologías como las cookies para almacenar y/o acceder a la información del dispositivo. El consentimiento de estas tecnologías nos permitirá procesar datos como el comportamiento de navegación o las identificaciones únicas en este sitio. No consentir o retirar el consentimiento, puede afectar negativamente a ciertas características y funciones.
Funcional Siempre activo
El almacenamiento o acceso técnico es estrictamente necesario para el propósito legítimo de permitir el uso de un servicio específico explícitamente solicitado por el abonado o usuario, o con el único propósito de llevar a cabo la transmisión de una comunicación a través de una red de comunicaciones electrónicas.
Preferencias
El almacenamiento o acceso técnico es necesario para la finalidad legítima de almacenar preferencias no solicitadas por el abonado o usuario.
Estadísticas
El almacenamiento o acceso técnico que es utilizado exclusivamente con fines estadísticos. El almacenamiento o acceso técnico que se utiliza exclusivamente con fines estadísticos anónimos. Sin un requerimiento, el cumplimiento voluntario por parte de tu Proveedor de servicios de Internet, o los registros adicionales de un tercero, la información almacenada o recuperada sólo para este propósito no se puede utilizar para identificarte.
Marketing
El almacenamiento o acceso técnico es necesario para crear perfiles de usuario para enviar publicidad, o para rastrear al usuario en una web o en varias web con fines de marketing similares.
  • Administrar opciones
  • Gestionar los servicios
  • Gestionar {vendor_count} proveedores
  • Leer más sobre estos propósitos
Ver preferencias
  • {title}
  • {title}
  • {title}