Se crear formularios (casillas de verificación, botones, listas desplegables, etc...) pero lo que quiero hacer es insertar por ejemplo una casilla de verificación en una celda de excel de tal forma que si pincho en la esquina inferior dcha de la celda pueda arrastrar ese formulario al resto de registros de la hoja. ¿Sabrías cómo hacerlo? Muchas gracias de antemano.
1 respuesta
Respuesta de fejoal
1
1
fejoal, Por falta de tiempo para responder como me gusta hacerlo suspendo...
Efectivamente, puedes multiplicar el control incluido en una celda en el modo que sugieres. Simplemente, tienes que asegurarte que los bordes del objeto queden incluido dentro de la celda que arrastras para los otros elementos. Lo que no lograrás es que cada control se asocie a la línea respectiva. Es decir que, si asocias el primer control a la celda D8 y luego multiplicas los controles, todos estos estarán asociado a esa misma celda. Sin embargo, una vez replicadas las casillas de verificación, la siguiente macro reasignará tal vinculo a las filas sucesivas: Sub RenumShapes() 'Ingresa aquí los datos de la primer casilla de verificación IniShape = 8 Colu = "F" Fila = 11 '============ gracias For ShapeN = IniShape To IniShape + ActiveSheet.Shapes.Count - 1 NroCtrl = "Check Box " & ShapeN ActiveSheet.Shapes(NroCtrl).Select With Selection .Value = xlOff .LinkedCell = Colu & Fila .Display3DShading = False End With Fila = Fila + 1 Next ShapeN End Sub Esta se basa en los supuestos que la numeración de los controles es sucesiva (lo cual es lógico si duplicaste las mismas arrastrando el vértice inferior derecho de las celdas) y que no tienes otro objeto en la hoja que esas casillas, (por el Shapes. ¿Count, vio?) Espero que esto ayude a resolver tu problema. Si así fuera, agradeceré un comentario y que la finalices. (Recuerda que mantener cierto número de respuestas pendientes impide que otros usuarios puedan consultarme) aclarando qué entendí mal o qué faltó.