Anular la opción mover

12/08/2009 - 04:34 por Francesca Brasso | Informe spam
Hola necesito un código para anular la posibilidad de mover celdas.
Agradecida de quien me la pueda proporcionar.
Francesca

Preguntas similare

Leer las respuestas

#21 Héctor Miguel
19/08/2009 - 04:31 | Informe spam
hola, Francesca !

... como evitamos que el usuario entre a las opciones avanzadas y marque "Permitir arrastrar y colocar... etc."?
porque si lo hace podra arrastrar celdas...



esto ya es otro nivel en la busqueda de protecciones en excel (hasta donde quieres llegar ?)
si hablas de las opciones avanzadas en excel 2007, los requerimientos en codigos son tambien "de otro nivel"

(probablemente) te serviria incluir una instruccion en el evento _selectionchange en el modulo de codigo de "esa" hoja
para (tratar de) "reducir" la posibilidad de que el usuario haga uso de la caracteristica de "arrastrar" (?) -p.d.-

== en el modulo de codigo de "esa" hoja =Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Range("a:e")) Is Nothing Then Exit Sub
With Application
.CellDragAndDrop = False ' <= esta linea es nueva '
If .CutCopyMode = xlCut Then .CutCopyMode = False
Do While .CutCopyMode = xlCopy
DoEvents
Loop
End With
End Sub

saludos,
hector.
Respuesta Responder a este mensaje
#22 Francesca Brasso
19/08/2009 - 19:21 | Informe spam
Excelente Héctor. Muchas gracias.
Perdonad lo largo que resultó el post, trataré en el futuro de ser más
explícita desde el comienzo para no distraer tanto a los que más saben y
mejor disposición tienen, como tú y tantos otros.

Saludos
Francesca

"Héctor Miguel" escribió en el mensaje de
noticias news:
hola, Francesca !

... como evitamos que el usuario entre a las opciones avanzadas y marque
"Permitir arrastrar y colocar... etc."?
porque si lo hace podra arrastrar celdas...



esto ya es otro nivel en la busqueda de protecciones en excel (hasta donde
quieres llegar ?)
si hablas de las opciones avanzadas en excel 2007, los requerimientos en
codigos son tambien "de otro nivel"

(probablemente) te serviria incluir una instruccion en el evento
_selectionchange en el modulo de codigo de "esa" hoja
para (tratar de) "reducir" la posibilidad de que el usuario haga uso de la
caracteristica de "arrastrar" (?) -p.d.-

== en el modulo de codigo de "esa" hoja => Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Range("a:e")) Is Nothing Then Exit Sub
With Application
.CellDragAndDrop = False ' <= esta linea es nueva '
If .CutCopyMode = xlCut Then .CutCopyMode = False
Do While .CutCopyMode = xlCopy
DoEvents
Loop
End With
End Sub

saludos,
hector.

Respuesta Responder a este mensaje
#23 Francesca Brasso
22/08/2009 - 02:36 | Informe spam
Hola Héctor, me da una lata negra volver a escribir de lo mismo, pero
¿sabes? la línea que agregamos finalmente:
(.CellDragAndDrop = False ' <= esta linea es nueva ')
anula la posibilidad de copiar celdas. ¿será posible corregir el código sin
quitarle nada respecto de arrastrar pero permitiendo copiar?
Gracias

Saludos
Francesca

"Héctor Miguel" escribió en el mensaje de
noticias news:
hola, Francesca !

... como evitamos que el usuario entre a las opciones avanzadas y marque
"Permitir arrastrar y colocar... etc."?
porque si lo hace podra arrastrar celdas...



esto ya es otro nivel en la busqueda de protecciones en excel (hasta donde
quieres llegar ?)
si hablas de las opciones avanzadas en excel 2007, los requerimientos en
codigos son tambien "de otro nivel"

(probablemente) te serviria incluir una instruccion en el evento
_selectionchange en el modulo de codigo de "esa" hoja
para (tratar de) "reducir" la posibilidad de que el usuario haga uso de la
caracteristica de "arrastrar" (?) -p.d.-

== en el modulo de codigo de "esa" hoja => Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Range("a:e")) Is Nothing Then Exit Sub
With Application
.CellDragAndDrop = False ' <= esta linea es nueva '
If .CutCopyMode = xlCut Then .CutCopyMode = False
Do While .CutCopyMode = xlCopy
DoEvents
Loop
End With
End Sub

saludos,
hector.

Respuesta Responder a este mensaje
#24 Héctor Miguel
22/08/2009 - 07:27 | Informe spam
hola, Francesca !

... me da una lata negra volver a escribir de lo mismo, pero... la linea que agregamos finalmente:
(.CellDragAndDrop = False ' <= esta linea es nueva ') anula la posibilidad de copiar celdas.
sera posible corregir el codigo sin quitarle nada respecto de arrastrar pero permitiendo copiar?



nop !!! (como creo que lo estas pensando)... y lo que se anula es el uso de {ctrl}+arrastrar
ya que la propiedad .CellDragAndDrop (que es la que administra la caracteristica de "arrastrar y soltar")
=> permite o impide que se pueda "arrastrar" celdas/rangos (entonces...)

a) hacer un drag'n drop "mueve"
b) hacer un {ctrl}+drag'n drop "copia"

pero AMBOS utilizan el "drag'n drop", entonces... mientras sea necesario inhibir el "drag'n drop"
=> la copia podras hacerla por los otros medios "convencionales" (ctrl + C / edicion > copiar / etc.)

saludos,
hector.
Respuesta Responder a este mensaje
#25 Francesca Brasso
22/08/2009 - 23:13 | Informe spam
Hola Héctor, lo que no funciona es copiar mediante Ctrl+C o editar > copiar
ya que al cambiar a la celda de destino para hacer Ctrl+V o editar > pegar
se apaga la 'intermitencia' del contorno de la celda que se desea copiar y
también se deshabilita la opción de pegado en editar.
Sin embargo, si elimino la línea

.CellDragAndDrop = False

entonces sí funciona copiar mediante Ctrl+C o editar > copiar ya que no se
apaga el contorno de la celda que se desea copiar, y funciona Ctrl+V y no se
deshabilita la opción de pegado en editar. Entones esa línea está
produciendo el inconveniente, aunque es muy necesaria para evitar el
'arrastre'.

(El copiado mediante Ctrl + arrastrar ni siquiera lo conocía. Siempre que
hablaba de copiar lo he hecho pensando en los métodos 'convencionales')

Saludos
Francesca

"Héctor Miguel" escribió en el mensaje de
noticias news:
hola, Francesca !

... me da una lata negra volver a escribir de lo mismo, pero... la linea
que agregamos finalmente:
(.CellDragAndDrop = False ' <= esta linea es nueva ') anula la
posibilidad de copiar celdas.
sera posible corregir el codigo sin quitarle nada respecto de arrastrar
pero permitiendo copiar?



nop !!! (como creo que lo estas pensando)... y lo que se anula es el uso
de {ctrl}+arrastrar
ya que la propiedad .CellDragAndDrop (que es la que administra la
caracteristica de "arrastrar y soltar")
=> permite o impide que se pueda "arrastrar" celdas/rangos (entonces...)

a) hacer un drag'n drop "mueve"
b) hacer un {ctrl}+drag'n drop "copia"

pero AMBOS utilizan el "drag'n drop", entonces... mientras sea necesario
inhibir el "drag'n drop"
=> la copia podras hacerla por los otros medios "convencionales" (ctrl + C
/ edicion > copiar / etc.)

saludos,
hector.

Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida