Excel - Insertar de manera automática un cuadro combinado en cada linea de la hoja

 
Vista:
sin imagen de perfil

Insertar de manera automática un cuadro combinado en cada linea de la hoja

Publicado por Toni (10 intervenciones) el 29/10/2015 12:48:37
Buenas

Quisiera insertar un cuadro combinado en todas las lineas de una columna en una hoja, de manera que, al escribir una nueva linea, el cuadro combinado me aparezca automaticamente, y la celda de referencia donde copia el valor escogido en el cuadro combinado también sea de la misma linea.

Es la primera vez que intento programar en Excel, perdonad mi mala explicación. Espero que se haya entendido.

Adjunto un fichero de ejemplo.

Gracias.
Toni
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 83
Ha aumentado su posición en 2 puestos en Excel (en relación al último mes)
Gráfica de Excel

Insertar de manera automática un cuadro combinado en cada linea de la hoja

Publicado por GMG (119 intervenciones) el 29/10/2015 13:47:50
Hola Toni.

La verdad es que no entiendo lo que quieres hacer.

Intenta explicarlo con un ejemplo, a ver si así te puedo ayudar. Ejemplo, me lo invento:

Cuando insete un dato en A8 que me combine las celdas de E8 a K8 y así para toda la columna.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Insertar de manera automática un cuadro combinado en cada linea de la hoja

Publicado por Toni (10 intervenciones) el 29/10/2015 14:20:15
GMG,

Fíjate en el fichero de ejemplo que he insertado para mejorar la explicación. En la columna A hay insertado el mismo combo en todas las filas de la hoja, con los mismos datos. Eso es lo que quiero. Que, al clicar sobre una celda de una columna en concreto, sea en la fila que sea, se active un combo con valores fijos, y que, al escoger un valor de el combo de una fila en concreto, se obtenga un valor en una celda de la misma fila.

Lo que busco es que, para esa columna, los datos que se puedan insertar en las diferentes filas esten restringidos a unos valores concretos.

Espero haber sido más explícito. Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 83
Ha aumentado su posición en 2 puestos en Excel (en relación al último mes)
Gráfica de Excel

Insertar de manera automática un cuadro combinado en cada linea de la hoja

Publicado por GMG (119 intervenciones) el 29/10/2015 18:47:37
A ver si me aclaro.

Entiendo que buscas dos cosas, vamos primero a por la primera:

1- "Que, al clicar sobre una celda de una columna en concreto, sea en la fila que sea, se active un combo con valores fijos, y que, al escoger un valor de el combo de una fila en concreto, se obtenga un valor en una celda de la misma fila."

La primera parte ya la tienes lo de activarse el combo (Validación de datos), y te falta la parte de que al cambiar este valor, en otra celda de la misma fila, se pusiera el valor que tocara.

Para que te cambie el valor de una celda al cambiar lo que hay en otra (en este caso tiene el combo) lo puedes hacer o bien por fórmulas, o bien por macros.

Por formulas algo así como:

en la celda que quieres que se muestre el valor
=si(a8 = "Alta";"lo que sea1";"")&si(a8 = "Baixa";"lo que sea2";"")&si(a8 = "Canvi de titular";"lo que sea3";"")

Si lo quieres hacer por macros:

Dentro del código asignado a la hoja1 debes poner el siguiente código, cambiando el rango que te he puesto yo, por el rango que quieras controlar si hay algún cambio de valor.

Y cambiar Macro1 por el nombre que le asignes a tu macro

1
2
3
4
5
6
7
8
Private Sub Worksheet_Change(ByVal Target As Range)
 Dim KeyCells As Range
    Set KeyCells = Range("A8:A65536")
    If Not Application.Intersect(KeyCells, Range(Target.Address)) _
        Is Nothing Then
            Macro1
        End If
 End Sub

Después tienes que definir en la macro que crees tú lo que quieres que haga, los valores que quieres que te aplique a la columna que quieras.

Por ejemplo, basandome en el documento que has facilitado, si se cambia el valor de las celdas de A8 a A65536, la macro te muestra un mensaje, cambia ese código por lo que quieras que haga

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Sub Macro1()
    modalitat = ActiveCell.Value
    Select Case modalitat
        Case "Alta"
            MsgBox ("alta")
        Case "Baixa"
            MsgBox ("baixa")
        Case "Canvi de titular"
            MsgBox ("Canvi de titular")
        Case Else
            MsgBox ("Res")
    End Select
 
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Insertar de manera automática un cuadro combinado en cada linea de la hoja

Publicado por Toni (10 intervenciones) el 30/10/2015 08:14:03
GMG, buenas

Yo vengo de Accés, y el tema de programación lo veo claro, creo que lo sabré hacer.

Lo que no se hacer és como repetir el combo en cada fila. Para entendernos, si una hoja de Excel tiene 100.000 filas, como hacer para que, en una columna concreta de cualquier fila, aparezca el combo.

Gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 83
Ha aumentado su posición en 2 puestos en Excel (en relación al último mes)
Gráfica de Excel

Insertar de manera automática un cuadro combinado en cada linea de la hoja

Publicado por GMG (119 intervenciones) el 30/10/2015 09:51:38
ahhhhh ok!

1- Seleccionas todas las celdas a las que quieres aplicar el mismo desplegable.
2- Ve a Datos, herramienta de datos, Validación de datos, te sale un desplegable, selecciona Validación de datos.
3- En configuración, permitir: Lista
4- En Origen seleccionas las celdas en las que tienes los valores que quieres que aparezcan en la lista (creo que las tenias en la columna AE).
5-luego en la pestaña "mensaje de erro" puedes poner que no te permita que se escriban otros valores etc.

Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil

Insertar de manera automática un cuadro combinado en cada linea de la hoja

Publicado por Toni (10 intervenciones) el 30/10/2015 13:15:09
Gracias, GMG, de esto se trataba!

Otro reto:

En una hoja NOMENCLATOR hay cinco columnas, con datos de calles (abreviatura, nombre, código postal...)

Desearia que, desde otra hoja HOJA1, se mostraran en un desplegable de la COLUMN1 los nombres de las calles y, al escoger una, se copiaran en COLUMN2---N de la misma fila los datos que figuran de esa calle en NOMENCLATOR.

Es posible? Se podria combinar con la Validacion de Datos, para que esta entrada automatizada de datos se sucediera en todas la filas de una matriz?

Gracias de nuevo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 83
Ha aumentado su posición en 2 puestos en Excel (en relación al último mes)
Gráfica de Excel

Insertar de manera automática un cuadro combinado en cada linea de la hoja

Publicado por GMG (119 intervenciones) el 30/10/2015 13:57:54
Puedes utilizar la función buscarV.

Te mando un ejemplo sencillo dentro del recuadro.

Lo malo que tiene que poner las formulas en todas las casillas, te lo he puesto para que muestre la celda vacia en lugar de dar error.

Tambien podrías hacerlo con lo que te comenté anteriormente, con la macro que detecta un cambio en la celda, que llame a una función que te aplique la fórmula en las posiciones que quieres, y lo copie y pegue como valor.

A ver si es lo que buscas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil

Insertar de manera automática un cuadro combinado en cada linea de la hoja

Publicado por Toni (10 intervenciones) el 30/10/2015 14:55:27
Perfecto,

Gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar