Casilla de verificación: Copiar-Pegar = desplazamiento de la casilla pegada

Resuelto
Bertellus -  
Froulik Mensajes publicados 4292 Estado Miembro -
Hola,

Estoy usando Excel 2010 y he encontrado un problema:

Tengo una casilla de verificación en una celda fusionada. La casilla de verificación está completamente incluida en la celda. La opción: "Mover y dimensionar con las celdas" está activada.

Copio esta casilla, cambio de hoja y la pego en una celda del mismo tamaño (fusionada, mismo número de celdas, mismas anchos de columna y de fila).

El resultado: aparece una casilla de verificación, pero no DENTRO de la celda: aparece debajo, a caballo entre la celda objetivo y la celda de abajo.

Queriendo esta función en una macro, he probado 4 veces la misma macro y he obtenido en cada una una posición diferente (cíclica: se desplaza hacia abajo, se coloca correctamente, se desplaza hacia arriba, se desplaza hacia abajo...)

¿Cómo puedo hacer para que la casilla de verificación permanezca perfectamente en su lugar?

Gracias por tu ayuda :)

4 respuestas

  1. Froulik Mensajes publicados 4292 Estado Miembro 954
     
    no soy un especialista, pero ¿has probado seleccionando tu objeto "casilla de verificación"?
    clic derecho
    formato de control
    propiedades
    posicionamiento del objeto?
    0
  2. Bertellus
     
    Especifico que el problema parece surgir porque mi macro contiene inserciones de filas antes de copiar y pegar la casilla de verificación. En una hoja de prueba, la casilla de verificación se coloca correctamente cada vez.

    La macro copia una zona "stock" para pegarla en una hoja para imprimir. Por lo tanto, inserto las celdas sin las casillas y luego las casillas en las celdas objetivo.

    En cada iteración de la macro, es ahí donde la casilla de verificación se desplaza.
    0
    1. Froulik Mensajes publicados 4292 Estado Miembro 954
       
      sí. así que lo que te propuse probablemente no funcionará
      lo siento
      0
    2. Bertellus
       
      Soy yo quien lo soy. No he especificado todo desde el principio. Lo siento.
      Ya he buscado por todas partes en el VBA, en las propiedades del objeto, en el formato del control y no hay manera, siempre tengo este desajuste que se produce.
      0
  3. Bertellus
     
    Es posible que algunas partes de mi código VBA puedan ayudar a resolver mi problema: aquí está la parte correspondiente (el resto funciona sin problemas):

    Sheets("XXXX").Select
    Rows("19:22").Copy
    Sheets("YYYY").Select
    Rows("10:10").Select
    Selection.Insert Shift:=x1Down

    Sheets("XXXX").Select
    ActiveSheet.Shapes.Range(Array("Checkbox1")).Select
    Selection.Copy
    Sheets("YYYY").Select
    Range("A20:D21").Select
    ActiveSheet.Paste
    0
  4. Bertellus Mensajes publicados 6 Estado Miembro
     
    Bueno, para aquellos que estén en la misma situación que yo, aquí hay una solución alternativa:

    En lugar de usar un control ActiveX, he utilizado una casilla de verificación de formulario. Había probado casi todo excepto eso. Ahora funciona correctamente.

    La activación de un ActiveX en las macros es generalmente preferible, pero así no hay necesidad de copiar y pegar la casilla de verificación, se hace automáticamente (sin el modo de creación) al mismo tiempo que la celda en la que se encuentra.

    El 90% de los problemas informáticos se encuentran entre la silla y la pantalla ... y me da vergüenza confirmar que no pensé en la solución alternativa más simple... :'(
    0
    1. Froulik Mensajes publicados 4292 Estado Miembro 954
       
      ¿Vergüenza? Tal vez, pero esta falta de reflexión (todo relativo) te ha permitido avanzar en tus conocimientos, ¿no? Entonces todo está bien :o))
      0