Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

RESALTAR LA CELDA EN LA QUE ESTOY UBICADO

3,363 views
Skip to first unread message

Ing. Héctor Montero S.

unread,
Aug 27, 2003, 6:34:15 PM8/27/03
to
Como el XP, "colorea" tanto la columna como la fila en la que se encuentra el cursor ubicado en ese momento, cómo se podría hacer para que por Default EXCEL me muestre con otro color la celda en la que me encuentro en cualquier momento.
Gracias por adelantado
HMS

Rene Moreno

unread,
Aug 27, 2003, 10:02:25 PM8/27/03
to
A ver si es esto lo que quieres:
 
Agrega este codigo a la hoja donde quieres que se ejecute
 
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  ' variable estatica que conservara la direccion de la celda que "deseleccionas"
  Static oldrng As String
  ' esta linea previene la primera ejecucion en que la "oldrng" es vacio
  On Error Resume Next
  ' despintas la celda que "deseleccionas" (o la pintas si quieres)
  Range(oldrng).Interior.ColorIndex = xlNone ' .Color = RGB(255, 255, 255)
  With Target
    .Interior.Color = RGB(255, 255, 220)  ' pintas la celda
    oldrng = .Address ' obtienes la direccion de la celda seleccionada
  End With
End Sub
Comentas si te sirvio.
 
Atte.
Rene Moreno
"La Imaginacion es Mas Importante que el Conocimiento"
 
"Ing. Héctor Montero S." <hec...@hotmail.com> escribió en el mensaje news:#oeEduOb...@TK2MSFTNGP12.phx.gbl...

Héctor Miguel

unread,
Aug 28, 2003, 12:19:50 AM8/28/03
to
¿Que tal, chicos?

> 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


0 new messages