Jump to content
Sign in to follow this  
elkely

Limitar la copia automática de celda en hoja

Recommended Posts

Buenas!!

Tengo el siguiente código en la hoja que me permite copiar la celda seleccionada en la celda indicada.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Range("AB2") = ActiveCell
End Sub[/CODE]

Que debo de incluir para que solo se ejecute solo en un rango de celdas que le limite, supongamos

AK2:BI11, es decir, que solo se copie automáticamente la celda seleccionada en ese rango y no en todo la hoja, estando el código en la hoja.

Muchas gracias

Share this post


Link to post
Share on other sites

Te adjunto un archivo que lleva la modificación del codigo que necesitas en un ejemplo muy sencillo. Solo tienes que cambiar los rangos correspondientes en el código de la hoja1 para adaptarlo a los rangos que tú quieras. La celda en la que se copia la celda activa de mi ejemplo es la A1, por sencillez, pero solo lo hará si la celda activa está en un rango determinado, en mi caso el B2:D5. La clave está en el uso del método Intersect. Saludos y espero que sea lo que buscas.

Solo copia valor si esta en rango.xlsm.zip

Share this post


Link to post
Share on other sites

A lo mejor te sirva algo como esto (reemplaza tu código)

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not (Intersect(Target, Range("AK2:BI11")) Is Nothing) Then
Range("AB2") = ActiveCell
End If
End Sub
[/CODE]

Saludos

Share this post


Link to post
Share on other sites

Pues es verdad. He especificado muy mal el rango. No es Range("B2","C5"), sino Range("B2:C5"). Vale con que corrijas eso, aunque los dos usuarios anteriores ya te han apuntado en la dirección correcta. Siento el desliz.

Share this post


Link to post
Share on other sites

Muchas gracias a los tres.

[uSER=201750]@aaquino[/uSER] tu idea esta bien, pero no me vale ya que limita columna y necesitaba un rango especifico.

@fellay y [uSER=67376]@exceloy[/uSER] me he quedado con la vuestra, ya que limita rango, lo que me queda es conseguir sobre este tema seria limitar dos rangos en el mismo código, es decir a

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not (Intersect(Target, Range("AK2:BI11")) Is Nothing) Then
Range("AB2") = ActiveCell
End If
End Sub[/CODE]

Poder incluirle, otro rango mas, como por ejemplo BE14 a BE64.

Muchas gracias a los tres, estoy en la parte final de un proyectito y voy a a reventar. De verdad muchas gracias

Share this post


Link to post
Share on other sites

Puedes adaptar este código mi estimado [uSER=27312]@elkely[/uSER]

If Not Intersect(Target, Range("B2:C10")) Is Nothing Then
    Range("A1") = ActiveCell
    ElseIf Not Intersect(Target, Range("D2:E10")) Is Nothing Then
        Range("A1") = ActiveCell
End If

Si te ha sido de utilidad, un Like :D

Si se ha resuelto tu duda, indícalo

Saludos.

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  



×
×
  • Create New...

Important Information

Privacy Policy