"Ing. Héctor Montero S." <hec...@hotmail.com> escribió en el mensaje news:#oeEduOb...@TK2MSFTNGP12.phx.gbl...
> Héctor Montero S. escribió en el mensaje
> ... XP, "colorea" ... la columna ... la fila ... cursor ubicado en ese momento
> ... que por Default ... otro color la celda en la que me encuentro [...]
>> Rene Moreno escribió en el mensaje
>> Agrega este codigo a la hoja donde quieres que se ejecute [...]
==> Solo unos comentarios adiconales ...
1) "En realidad", el XP le da un "estilo resaltado" a los encabezados (fila y columna) del rango seleccionado
("cosa" que tambien "hacen" las versiones anteriores, "solo que" XP agrega un "efecto sombreado" [o coloreado])
2) (hasta donde yo se) "lograr" lo que solicitas "requiere" de codigo (tal como lo sugiere Rene)
3) Al "correrse" un codigo (cualquiera) SE PIERDE el "beneficio del UnDo" ("deshacer") por lo que (p.e.)...
si "estas haciendo" un Cut o Copy (teclado), al cambiar de celda activa "se vacia" el portapapeles y... <\×_×/>
(obviamente) esa "partcularidad" de los codigos, LIMITA (convenientemente?) el "accionar" del usuario dentro de la hoja.
4) El calculo del modelo (probablemente) se vera "afectado" en su rapidez :((
Si quisieras "corregir" lo del Cut-Copy-Paste, agrega una "atrapada" a si la aplicacion "se encuentra" en ese modo +/- asi:
(creo que) es mas facil seleccionar colores del patron del ColorIndex (ayuda en VBA) que "tonalizar" con el RGB ;)
===
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Static Anterior As Range
On Error Resume Next
Select Case Application.CutCopyMode
Case xlCut, xlCopy
Do
DoEvents
Loop Until Application.CutCopyMode = False
SendKeys "{Enter}"
End Select
With Anterior
.Interior.ColorIndex = xlColorIndexNone
.Font.ColorIndex = xlColorIndexAutomatic
.Font.Bold = False
End With
With Target
.Interior.ColorIndex = 19
.Font.ColorIndex = 3
.Font.Bold = True
End With
Set Anterior = Target
End Sub
==> Otra (posible) manera de "colorear" la celda activa, seria usando formato condicional y "nombrando" la celda activa (p.e.)
(siempre y cuando NO "afecte" estarle cambiando nombre a la celda activa y NO "estes usando ya" FormCond) :))
1) Selecciona TODA la hoja y con el comando... Formato -> Formato condicional...
a) Formula => =Celda("Direccion",A1)=Celda("Direccion",CeldaActiva)
b) "aplicas" los formatos que prefieras (color, trama, letra, etc.)
Nota: Los formatos condicionales "toman precedencia" sobre los "personalizados" SOLO SI "se cumple" la condicion.
2) Copia el siguiente codigo en el modulo de "la hoja":
===
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ThisWorkbook.Names.Add "CeldaActiva", ActiveCell, False
End Sub
==> Como "veras" (tal parece que) todo tiene sus "pros" y "contras" :((
_______
Saludos,
Héctor.
MS-MVP