Jump to content

Copiar area de trabajo , bloqueando celdas a usurios especificos


Recommended Posts

Hola,

Gracias a exceloy he logrado lo adjunto. Mi problema es que el AREA la cual marque en uno de los lados con color, deb repetirse hacia abajo , restringuiendo a el usuario ** no modificar lo escrito por usuariio*

Finalmente , ver la factibilidad de insertar imagenes en los cuadros al pinchar el area indicada, al final de la hoja.

Gracias

prueba2.xls

Link to comment
Share on other sites

Hola MRINFAMEZ

-La rutina para repetir el área hacia abajo funcionaba bien en el ejemplo anterior, sólo tiene que adaptar el código a su nueva area a replicar. Es algo más difícil porque yo me basaba en localizar la última celda con contenido y replicar con esa referencia más cuatro columnas más abajo. Mirelo y use la referencia que mejor se adapte a sus necesidades.

-Lo de protección/desprotección cuando el primer rango este completo, tiene el problema de que hay que colocarlo como evento de hoja y que se ejecute cada vez que hay entrada de datos. En el archivo adjunto hay un ejemplo con dos rangos rectangulares simples que espero que no tenga dificultad para trasladar a sus rangos a medida. El código del archivo que le adjunté la semana pasada no funcionaba bien.

-Insertar imágenes en formas (shapes) al hacer click en ellas no lo veo posible pues si le asociamos un evento, dejamos de tener la posibilidad de seleccionarlas, y para insertar una imagen, o un texto, o lo que sea en una forma, tenemos que seleccionarla necesariamente. Pero existe una solución intermedia que emula el proceso de inserción y que le adjunto en la segunda hoja del archivo. Su funcionamiento es el siguiente: se selecciona la forma en la que se pretende insertar la imagen y se hace click en un boton general que abrirá el cuadro de diálogo con el que usted podrá buscar la imagen a insertar.

Saludos

carga_imagen_en_shapes.zip

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • 52 ¿Te parecen útiles los tips de las funciones? (ver tema completo)

    1. 1. ¿Te parecen útiles los tips de las funciones?


      • No
      • Ni me he fijado en ellos

  • Ayúdanos a mejorar la comunidad

    • Donaciones recibidas este mes: 0.00 EUR
      Objetivo: 130.00 EUR
  • Files

  • Download Statistics

    • Files
      158
    • Comments
      89
    • Reviews
      25

    Latest File
    By pegones1

    1    0

  • Crear macros Excel

  • Posts

    • Sub conviertefechas() Application.ScreenUpdating = False With Worksheets("Hoja1") For i = 2 To .Range("A" & Rows.Count).End(xlUp).Row Cells(i, "B").NumberFormat = "@" Cells(i, "B") = Format(Cells(i, "A"), "yyyy-mm-dd") Next End With End Sub  
    • Buenas, os adjunto un ejemplo para convertir una fecha separada por barras dd/mm/yyyy (columna A) en yyyy-mm-dd (columna B). El caso es que aunque en la celda se visualiza como yyyy-mm-dd después de convertir, en la barra de fórmulas sigue figurando dd/mm/yyyy. No encuentro el modo de solucionar esto... tampoco he encontrado cómo solucionarlo. Alguna idea? Gracias! ej_fecha.zip
    • buenos dias, por favor necesito saber donde estoy fallando en el codigo que presento. en dos hojas excel "Tarificador" y "Pres" en  la hoja Tarificador si las celdas b12 y C12 son diferentes tiene que preguntar por un imputbox el sexo y segun se escriba cogera el valor y lo enviara a la hoja PRES celda I15.  si por el contrario las celdas b12 y c12 son iguales, el valor de la celda b12 se pegara en la hoja PRES celda I15.  la ejecucion se aplica cuando se pincha el boton de "generar documento" envio fichero para su comprobacion  gracias.  TARIFICADOR.xlsm
    • Clavado, Antoni! Muchas gracias por la ayuda!
    • Sub TransponerFilas() Dim Inicio As Worksheet, Fin As Worksheet Application.EnableEvents = False '-- Set Inicio = Sheets("Inicio") Set Fin = Sheets("Fin") '-- Fin.Range("A1").CurrentRegion.Offset(1).ClearContents fila = 1 For x = 2 To Inicio.Range("A" & Rows.Count).End(xlUp).Row For y = 2 To Inicio.Cells(1, Columns.Count).End(xlToLeft).Column If Not Inicio.Cells(1, y) = "" Then fila = fila + 1 Fin.Range("A" & fila) = Inicio.Range("A" & x) Fin.Range("B" & fila) = Inicio.Cells(1, y) Fin.Range("C" & fila) = Inicio.Cells(x, y) End If Next Next End Sub  
  • Recently Browsing

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

Privacy Policy