Excel - Macro automática para escribir una X en función del valor de una celda

 
Vista:
sin imagen de perfil

Macro automática para escribir una X en función del valor de una celda

Publicado por cactus (16 intervenciones) el 16/03/2017 12:52:38
Hola,

Quería realizar una macro para que, cuando en una lista desplegable se escoja la opción "Circular" o "Cuadrada", escriba una X en las celdas que yo quiera.
Es decir, yo tengo en las celdas M13, N13 y O13 una lista desplegable con las opciones "Circular", "Cuadrada" y "Rectangular". Si se escoge cuadrada o circular, en las filas 14 y 15 de la columna correspondiente, debe aparecer una X.
Pero además, hay una dificultad añadida y es que, el número de columnas de la lista desplegable es variable, es decir, la tabla comienza en M13 y la última columna depende del valor introducido en la celda J6.
Yo redacté la siguiente macro, pero no funciona.

1
2
3
4
5
6
7
8
9
10
11
12
13
Private Sub Worksheet_Change(ByVal Target As Range)
Dim var As Integer
var = WorksheetFunction.Sum(Val(11), [J6])
For filas = 14 To 15
For columnas = 12 To var
valor = Range(filas, columnas).Value
If Cells(filas, columnas).Value = "Circular" Or Cells(filas, columnas).Value = "Cuadrada" Then
valor = "X"
Else
End If
Next
Next
End Sub

¿Una ayuda?

Muchas gracias
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: 112
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Macro automática para escribir una X en función del valor de una celda

Publicado por José Luis (46 intervenciones) el 17/03/2017 01:12:15
Es confusa tu explicación.

Su M13, N13 y O13 seleccionan Circular o cuadrada dices que en la fila 14 y 15 de la columna correspondiente debe aparecer una X

O sea si en la M13 escojo Circular o cuadrada en la M14 = X y la M15 = X ???

Te refieres a que pongan 2 equis por cada Circular o Cuadrada seleccionada en la celda M13 o N14 u O13

Y luego dices que se dificulta con que el numero de columnas de la lista desplegable es variable es decir la tabla comienza en M13 y por la ultima columna depende del valor introducido en la celda J6

En la primera explicacion cuando valia J6??????

Si explicas mejor te ayudo, ando de ocioso y me gustan los retos, yo quitaria las celdas seleccionables por mientras depuras el script.

Saludos
José Luis
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

Macro automática para escribir una X en función del valor de una celda

Publicado por cactus (16 intervenciones) el 17/03/2017 09:25:52
Sí, es así como dices, es decir, si en M13, N13 y O13 se selecciona circular o cuadrada, en la fila 14 y 15 de esas columnas debe aparecer una X. Por ejemplo, si en la M13 seleccionas circular, la M14=X y la M15=X. Si en la N13 seleccionas otra que no es ni cuadrada ni circular, no pone nada ni en la N14 ni en la N15. Si en la O13 pone cuadada, la O14 y la O15 serán = X.

Luego, lo que digo de la celda J6 es que en esta celda puedo escribir un número y, dependiendo de su valor, me va a insertar más columnas en la tabla. Es decir, si J6 vale 3, la tabla va a empezar en la columna M y terminar en la O. Si pone un 4, la tabla empieza en la columna M y acaba en la P y así sucesivamente. Por lo tanto, la macro que introduzca las X en las filas 14 y 15 tiene que tener esto en cuenta.

Muchas 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: 112
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Macro automática para escribir una X en función del valor de una celda

Publicado por José Luis (46 intervenciones) el 17/03/2017 19:42:49
Hola,

Ahorita ando en Linux y no tengo acceso a un equipo con windows pero te puedo orientar.

Vas a tener que usar 2 macros.

Macro 1
Después de que escribas en la celda J6 pulsas el botón para que ejecute una macro que copie la celda M14 las veces que se tengan que copiar.

Macro 2
Después de que escojas en todas las listas desplegables el valor que tengas que seleccionar ya sea "Circular", "Cuadrada" ó "Rectangular" pulsas el botón para ejecutar la macro que evalúe cada valor en la celda de la lista desplegable y escriba las equis que se tengan que escribir.

Saludos
José Luis
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

Macro automática para escribir una X en función del valor de una celda

Publicado por cactus (16 intervenciones) el 20/03/2017 13:03:32
Al final ya conseguí que funcionase con otra macro diferente. Muchas gracias igualmente :)
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