Note: The other languages of the website are Google-translated. Back to English

¿Cómo permitir solo números negativos en Excel?

En Excel, ¿cómo permitir que solo se ingresen números negativos? Este artículo presentará algunos trucos útiles y rápidos para que pueda resolver esta tarea.

Solo permitir números negativos en Excel con validación de datos

Solo permita números negativos en Excel con código VBA


flecha azul burbuja derecha Solo permitir números negativos en Excel con validación de datos

Normalmente, el Validación de datos La función puede ayudarlo, haga lo siguiente:

1. Seleccione las celdas o columna en las que desea permitir solo los números negativos ingresados ​​y luego haga clic en Datos > Validación de datos > Validación de datos, ver captura de pantalla:

doc solo permite negativo 1

2. En la Validación de datos cuadro de diálogo, debajo del Ajustes pestaña, elija las siguientes opciones:

(1.) En el Permitir sección, elija Decimal de la lista desplegable;

(2.) En el Datos sección, elija Menos que o igual a opción;

(3.) Por fin, ingrese el número 0 en el Máximo caja de texto.

doc solo permite negativo 2

3. Luego haga clic OK, y ahora, solo se permite ingresar números negativos y 0, si ingresa un número positivo, mostrará un mensaje de advertencia, vea la captura de pantalla:

doc solo permite negativo 3


flecha azul burbuja derecha Solo permita números negativos en Excel con código VBA

Aquí hay un código VBA que también puede ayudarlo, con el siguiente código, cuando ingrese un número positivo, se convertirá a negativo automáticamente, haga lo siguiente:

1. Haga clic con el botón derecho en la pestaña de la hoja en la que desea permitir solo números negativos y elija Ver código en el menú contextual, en el emergente Microsoft Visual Basic para aplicaciones ventana, copie y pegue el siguiente código en el espacio en blanco Módulo:

Código de VBA: solo permite números negativos en la hoja de trabajo:

Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice
    Const sRg As String = "A1:A1000"
    Dim xRg As Range
    On Error GoTo err_exit:
    Application.EnableEvents = False
    If Not Intersect(Target, Range(sRg)) Is Nothing Then
        For Each xRg In Target
            If Left(xRg.Value, 1) <> "-" Then
                xRg.Value = xRg.Value * -1
            End If
        Next xRg
    End If
err_exit:
    Application.EnableEvents = True
End Sub

doc solo permite negativo 4

Nota:: En el código anterior, A1: A1000 son las celdas en las que solo desea ingresar números negativos.

2. Luego guarde y cierre este código, vuelva a la hoja de trabajo y ahora, cuando ingrese algunos números positivos en las celdas que especificó en el código, los números positivos se convertirán en negativos automáticamente.


Las mejores herramientas de productividad de oficina

Kutools para Excel resuelve la mayoría de sus problemas y aumenta su productividad en un 80%

  • Reutilizar: Inserte rápidamente fórmulas complejas, gráficos y cualquier cosa que hayas usado antes; Cifrar celdas con contraseña; Crear lista de distribución y enviar correos electrónicos ...
  • Barra de súper fórmula (edite fácilmente varias líneas de texto y fórmulas); Diseño de lectura (leer y editar fácilmente un gran número de celdas); Pegar en rango filtrado...
  • Combinar celdas / filas / columnas sin perder datos; Contenido de celdas divididas; Combinar filas / columnas duplicadas... Prevenir celdas duplicadas; Comparar rangos...
  • Seleccione Duplicado o Único Filas; Seleccionar filas en blanco (todas las celdas están vacías); Super Find y Fuzzy Find en muchos libros de trabajo; Selección aleatoria ...
  • Copia exacta Varias celdas sin cambiar la referencia de la fórmula; Crear referencias automáticamente a varias hojas; Insertar viñetas, Casillas de verificación y más ...
  • Extraer texto, Agregar texto, Eliminar por posición, Quitar espacio; Crear e imprimir subtotales de paginación; Convertir entre contenido de celdas y comentarios...
  • Súper filtro (guardar y aplicar esquemas de filtros a otras hojas); Orden avanzado por mes / semana / día, frecuencia y más; Filtro especial en negrita, cursiva ...
  • Combinar libros y hojas de trabajo; Combinar tablas basadas en columnas clave; Dividir datos en varias hojas; Conversión por lotes de xls, xlsx y PDF...
  • Más de 300 potentes funciones. Compatible con Office/Excel 2007-2021 y 365. Compatible con todos los idiomas. Fácil implementación en su empresa u organización. Funciones completas Prueba gratuita de 30 días. Garantía de devolución de dinero de 60 días.
pestaña kte 201905

Office Tab lleva la interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil

  • Habilite la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
  • Abra y cree varios documentos en nuevas pestañas de la misma ventana, en lugar de en nuevas ventanas.
  • ¡Aumenta su productividad en un 50% y reduce cientos de clics del mouse todos los días!
officetab parte inferior
Comentarios (4)
Aún no hay calificaciones. ¡Sé el primero en calificar!
Este comentario fue minimizado por el moderador en el sitio
¡Hola! Excelente artículo. Una pregunta: si, en lugar de un grupo coherente de celdas, quiero aplicar esto en diferentes partes de la hoja (por ejemplo, A1:A2 Y A6:A8), ¿hay alguna forma de hacerlo con la solución VBA? Es decir: ¿cómo reemplazo el "A1: A1000" con varios conjuntos de celdas?
Este comentario fue minimizado por el moderador en el sitio
Hola GB,
Para aplicar este código para múltiples rangos, utilice el siguiente código:

Nota: al usar este código, primero debe hacer clic con el botón derecho en la pestaña de la hoja y luego hacer clic en Ver código en el menú contextual y luego copiar el siguiente código en el módulo.

Sub hoja de trabajo privada_Cambio (según el rango de destino ByVal)
'Actualizar por Extendoffice
Const sRg As String = "A1:A10,B1:B10,C1:C20" 'Separa los rangos por comas
Dim xRg como rango
Dim xSRg como rango
En caso de error Ir a err_exit:
Application.EnableEvents = False
Establecer xSRg = Rango (sRg)
Si Not Intersect(Target, xSRg) no es nada, entonces
Para cada xRg en el objetivo
Si Izquierda (xRg.Value, 1) <> "-" Entonces
xRg.Valor = xRg.Valor * -1
Si terminar
Siguiente xRg
Si terminar
err_salir:
Application.EnableEvents = True
End Sub

Por favor, inténtalo, ¡espero que te pueda ayudar!
Este comentario fue minimizado por el moderador en el sitio
¡Súper, gracias! Muy útil.
Este comentario fue minimizado por el moderador en el sitio
¿Cómo cambio el formato automático con este código de Moneda a Contabilidad?
No hay comentarios publicados aquí todavía
Deje sus comentarios
Publicar como invitado
×
Califica esta publicación:
0   Personajes
Ubicaciones sugeridas

Seguinos

Copyright © 2009 - www.extendoffice.com. | Reservados todos los derechos. Energizado por ExtendOffice, | Mapa del Sitio
Microsoft y el logotipo de Office son marcas comerciales o marcas comerciales registradas de Microsoft Corporation en los Estados Unidos y / o en otros países.
Protegido por Sectigo SSL