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

¿Cómo cambiar el valor de la celda haciendo clic en la celda?

¿Es posible que cambiemos el valor de la celda haciendo clic en una celda en Excel? Por ejemplo, cuando hace clic en una celda específica A1, la primera vez, se muestra un texto "Excel", si hace clic en el A1 de nuevo, se muestra un texto "Word" y un texto "Outlook" se muestra cuando hace clic en este celda por tercera vez. En este caso, el valor en la celda A1 será recurrente de "Excel" a "Word" a "Outlook" a "Excel" ... como se muestra en la siguiente captura de pantalla:

doc cambiar el valor haciendo clic en 1

Cambie el valor de la celda haciendo clic en una celda con código VBA


flecha azul burbuja derecha Cambie el valor de la celda haciendo clic en una celda con código VBA

Para finalizar esta tarea en Excel, el siguiente código VBA puede ayudarlo, haga lo siguiente:

1. Haga clic con el botón derecho en la pestaña de la hoja en la que desea cambiar el valor de la celda haciendo clic en y elija Ver código desde el menú contextual, y en el Microsoft Visual Basic para aplicaciones ventana, copie y pegue el siguiente código en el módulo en blanco:

Código de VBA: cambie el valor de la celda haciendo clic en una celda:

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
'Updateby Extendoffice
  Application.EnableEvents = False
  With Target
  If .Address = Range("A1").Address Then
    Select Case .Value
      Case "Excel"
        .Value = "Word"
      Case "Word"
        .Value = "Outlook"
      Case "Outlook"
        .Value = "Excel"
      Case Else
        .Value = "Word"
    End Select
  End If
  End With
  Range("A2").Select
  Application.EnableEvents = True
End Sub

doc cambiar el valor haciendo clic en 2

Nota:: En el código anterior, A1 es la celda en la que desea cambiar el valor haciendo clic en "Excel,Palabra,Outlook”Son los valores de celda que desea que se muestren de forma recurrente, puede cambiarlos según sus necesidades.

2. Después de pegar el código, guarde el código y cierre la ventana. Ahora, cuando hace clic en la celda A1 por primera vez, el texto "Excel" se muestra de una vez, haga clic de nuevo, aparece el texto "Word", el texto "Outlook" se muestra si hace clic en él por tercera vez, ver captura de pantalla:

doc cambiar el valor haciendo clic en 1


Más artículos relacionados:

¿Cómo filtrar datos con solo hacer clic en el contenido de la celda en Excel?

¿Cómo ordenar los datos de la columna haciendo clic en el encabezado en Excel?


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 (7)
Aún no hay calificaciones. ¡Sé el primero en calificar!
Este comentario fue minimizado por el moderador en el sitio
Estoy tratando de aplicar esto a una columna completa de celdas individuales, no solo a una celda. es posible? Cuando cambio el rango de "A1" a "A1:A100", no sucede nada cuando hago clic en las celdas de ese rango.
Este comentario fue minimizado por el moderador en el sitio
Lo hice pero no se lo diré a nadie MUWAHAHAHAHAHAHAHAHAHA
Este comentario fue minimizado por el moderador en el sitio
Puede hacerlo declarando el rango que desea tener como KeyCells y luego colocarlo en el método Application.Intersection. Esto le permitirá cambiar el Valor de su elección de todas las celdas. Funcionó para mí, pero soy malo explicando ^^

Dim KeyCells como rango

Establecer KeyCells = Rango ("A1: A100")

Si no Application.Intersect(KeyCells, Range(Target.Address)) no es nada, entonces

Seleccione Caso .Valor

...
Este comentario fue minimizado por el moderador en el sitio
Puede hacerlo declarando el rango que desea tener como KeyCells y luego colocarlo en el método Application.Intersection. Esto le permitirá cambiar el Valor de su elección de todas las celdas. Funcionó para mí, pero soy malo explicando ^^


Application.EnableEvents = False
con objetivo


Dim KeyCells como rango

Establecer KeyCells = Rango ("A1: A100")

Si no Application.Intersect(KeyCells, Range(Target.Address)) no es nada, entonces

Seleccione Caso .Valor

...
Este comentario fue minimizado por el moderador en el sitio
Este es el código final que funcionó para mí. Lo uso para verificar una celda cuando se completa un elemento.
Sub hoja de trabajo privada_Cambio de selección (rango de destino ByVal)
  Application.EnableEvents = False
    con objetivo
      Dim KeyCells como rango
      Establecer KeyCells = Rango ("D6: D8000")
      Si no Application.Intersect(KeyCells, Range(Target.Address)) no es nada, entonces
        Seleccione Caso .Valor
          Caso "ü"
            .Valor = ""
          Caso ""
            .Valor = "ü"
        Fin Seleccionar
      Si terminar
    End With
  Application.EnableEvents = True
End Sub
Este comentario fue minimizado por el moderador en el sitio
Esta es una gran información, gracias por los aportes de todos! ¿Hay alguna manera de aplicar este mismo tipo de enfoque con un valor de búsqueda o index\match?

Por ejemplo, si hago clic en un valor en A1, ¿se puede configurar VBA para indexar ese valor en otra columna de la hoja de cálculo y mostrar un valor coincidente en B1? ¡Gracias de nuevo!
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