[RESUELTO] resaltar filas y columnas al seleccionar celda
[RESUELTO] resaltar filas y columnas al seleccionar celda
Hola a todos,
Mi objetivo es lograr que al colocarme sobre una celda (cualquiera) el documento resalte tanto la fila como la columna, es decir, formen una cruz cuyo centro es la celda seleccionada.
En excel encontré varios códigos pero este que anexo es el mas sencillo:
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Cells.Interior.ColorIndex = xlNone
Target.EntireRow.Interior.ColorIndex = 38
Target.EntireColumn.Interior.ColorIndex = 38
End Sub
Pero este código causa algunos errores en excel asi que proponen este:
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Dim MiRango As Range
Application.ScreenUpdating = False
With Application.Cells
.Borders(xlInsideVertical).LineStyle = xlNone
.Borders(xlInsideHorizontal).LineStyle = xlNone
End With
Set MiRango = Application.Union(Range(Cells(Target.Row, 1), Target), _
Range(Cells(1, Target.Column), Target))
With MiRango.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = 7
End With
With MiRango.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = 7
End With
With MiRango.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = 7
End With
With MiRango.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = 7
End With
Application.ScreenUpdating = True
Set MiRango = Nothing
End Sub
Hay otras paginas pero todo es para excel y necesito para openoffice
De antemano mil gracias por tu ayuda.
Saludos
Mi objetivo es lograr que al colocarme sobre una celda (cualquiera) el documento resalte tanto la fila como la columna, es decir, formen una cruz cuyo centro es la celda seleccionada.
En excel encontré varios códigos pero este que anexo es el mas sencillo:
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Cells.Interior.ColorIndex = xlNone
Target.EntireRow.Interior.ColorIndex = 38
Target.EntireColumn.Interior.ColorIndex = 38
End Sub
Pero este código causa algunos errores en excel asi que proponen este:
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Dim MiRango As Range
Application.ScreenUpdating = False
With Application.Cells
.Borders(xlInsideVertical).LineStyle = xlNone
.Borders(xlInsideHorizontal).LineStyle = xlNone
End With
Set MiRango = Application.Union(Range(Cells(Target.Row, 1), Target), _
Range(Cells(1, Target.Column), Target))
With MiRango.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = 7
End With
With MiRango.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = 7
End With
With MiRango.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = 7
End With
With MiRango.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = 7
End With
Application.ScreenUpdating = True
Set MiRango = Nothing
End Sub
Hay otras paginas pero todo es para excel y necesito para openoffice
De antemano mil gracias por tu ayuda.
Saludos
Última edición por mauricio el Mié Nov 30, 2016 9:27 pm, editado 1 vez en total.
Razón: Marcar resuelto correctamente
Razón: Marcar resuelto correctamente
Re: resaltar filas y columnas al seleccionar celda
Hola...
El siguiente código, asignado al evento "Al cambiar seleccion" de la hoja donde quieres esto hace el trabajo, el estilo de celda "Resaltado" tienes que tenerlo creado a tu gusto.
Solo te funcionara si la versión de OOo/LibO que uses ya implementa los eventos de hoja:
Si tu versión aun no lo hace, aun puedes hacerlo con un poco más de código, pero creo que es tan sencillo actualizar que no vale la pena verlo, si funciona muy bien con este evento.
NOTA: El código usado tiene una ligera "deficiencia" que hay que subsanar... ¿que deficiencia es esta?
Por favor, si esto responde tu pregunta, edita el primer mensaje de este hilo y agrega al principio del título la etiqueta [RESUELTO], adicionalmente puedes marcar el icono de la tilde verde, de esta forma conseguiremos un foro más ordenado.
Saludos
El siguiente código, asignado al evento "Al cambiar seleccion" de la hoja donde quieres esto hace el trabajo, el estilo de celda "Resaltado" tienes que tenerlo creado a tu gusto.
Código: Seleccionar todo
Option Explicit
Sub ResaltarSeleccion()
Dim oDoc As Object
Dim oControlador As Object
Dim oSel As Object
Dim oRango As Object
Dim oRango1 As Object
Dim oRango2 As Object
oDoc = ThisComponent
oControlador = oDoc.CurrentController
oSel = oControlador.Selection
If oSel.ImplementationName = "ScCellObj" Then
oRango = oControlador.getVisibleRange
oRango1 = oSel.SpreadSheet.getCellRangeByPosition( oSel.CellAddress.Column, oRango.StartRow, oSel.CellAddress.Column, oRango.EndRow+1 )
oRango2 = oSel.SpreadSheet.getCellRangeByPosition( oRango.StartColumn, oSel.CellAddress.Row, oRango.EndColumn+1, oSel.CellAddress.Row )
oRango = oSel.SpreadSheet.getCellRangeByPosition( oRango.StartColumn, oRango.StartRow, oRango.EndColumn+1, oRango.EndRow+1 )
oRango.CellStyle = "Default"
oRango1.CellStyle = "Resaltado"
oRango2.CellStyle = "Resaltado"
End If
End Sub
Por favor, si esto responde tu pregunta, edita el primer mensaje de este hilo y agrega al principio del título la etiqueta [RESUELTO], adicionalmente puedes marcar el icono de la tilde verde, de esta forma conseguiremos un foro más ordenado.
Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Re: resaltar filas y columnas al seleccionar celda
Hola Mauricio,
Gracias por la respuesta tan rapida.
Te comento que no me sale "eventos de la hoja" y no se donde encontrar "accion asignada" ni "al cambiar selección"
En fin, no he podido usar el código que publicaste.
Que debo hacer??
Gracias por la respuesta tan rapida.
Te comento que no me sale "eventos de la hoja" y no se donde encontrar "accion asignada" ni "al cambiar selección"
En fin, no he podido usar el código que publicaste.
Que debo hacer??
Re: resaltar filas y columnas al seleccionar celda
Si te es posible descarga la ultima version: http://www.libreoffice.org/download con este podrás probarlo.
Saludos
Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Re: resaltar filas y columnas al seleccionar celda
Hola,
instalé el 3.3.2 pra probar pero no funciona....
..estoy bajando el 3.3.3 y probaré
Mil gracias
instalé el 3.3.2 pra probar pero no funciona....
..estoy bajando el 3.3.3 y probaré
Mil gracias
Re: resaltar filas y columnas al seleccionar celda
Hola mauricio,
Nada no funciona.
Al seleccionar la celda sale una ruedita dando vuelta por unos segundos pero no pasa nada..
..tendra algo que ver con "el estilo de celda "Resaltado" tienes que tenerlo creado a tu gusto." esto a que se refiere??
o sera que debo darle el color en "Resaltado" y si es asi como lo hago??
oRango1.CellStyle = "Resaltado"
oRango2.CellStyle = "Resaltado"
Lo que necesito es que se vea como la segunda captura
Gracias!!
Nada no funciona.
Al seleccionar la celda sale una ruedita dando vuelta por unos segundos pero no pasa nada..
..tendra algo que ver con "el estilo de celda "Resaltado" tienes que tenerlo creado a tu gusto." esto a que se refiere??
o sera que debo darle el color en "Resaltado" y si es asi como lo hago??
oRango1.CellStyle = "Resaltado"
oRango2.CellStyle = "Resaltado"
Lo que necesito es que se vea como la segunda captura
Gracias!!
Re: resaltar filas y columnas al seleccionar celda
Hola...
Los paso que tienes que hacer son:
1.- Copiar la macro "dentro" del archivo de pruebas
2.- Crear un estillo de celda que se llame Resaltado con el color de fondo que quieras, esto lo resuelves facilmente en la ayuda del programa.
3.- Asignar la macro al avento Al cambiar seleccion
Mejor, solo descarga el archivo anexo.
Eso es todo.
Los paso que tienes que hacer son:
1.- Copiar la macro "dentro" del archivo de pruebas
2.- Crear un estillo de celda que se llame Resaltado con el color de fondo que quieras, esto lo resuelves facilmente en la ayuda del programa.
3.- Asignar la macro al avento Al cambiar seleccion
Mejor, solo descarga el archivo anexo.
Eso es todo.
- Adjuntos
-
- Resaltar seleccion.ods
- (8.69 KiB) Descargado 997 veces
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Re: resaltar filas y columnas al seleccionar celda
Hola...
Bueno si, ya sabemos, siempre hay un agua fiestas, si es que se puede responder, solo por curiosidad, estimado afp_sch ¿eso que utilidad tiene en la practica?, digo.. muy bonito todo, bien, buenos codigos pero....... ¿sera practico eso en el trabajo diario?
Saludos.
Bueno si, ya sabemos, siempre hay un agua fiestas, si es que se puede responder, solo por curiosidad, estimado afp_sch ¿eso que utilidad tiene en la practica?, digo.. muy bonito todo, bien, buenos codigos pero....... ¿sera practico eso en el trabajo diario?
Saludos.
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Re: resaltar filas y columnas al seleccionar celda
Mi estimado FORNELASA, en todos mis años de dar soporte en diferentes foros, me he acostumbrado a todo tipo de peticiones "extrañas" por decir lo menos, casi siempre he llegado a la conclusión de que -todos tenemos diferentes necesidades y lo más importante, diferentes enfoques de su posible satisfacción-...
Un abrazo
Un abrazo
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Re: resaltar filas y columnas al seleccionar celda
Hola, igualmente, ¡un abrazo Mauricio!..... desde la hermana republica de Edo. Mex. (Si..... muy cerquita de )
Saludos, Federico.
Saludos, Federico.
Última edición por fornelasa el Sab Feb 09, 2013 11:05 pm, editado 1 vez en total.
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Re: resaltar filas y columnas al seleccionar celda
Mira que es chiquito el mundo. Hace años vivi en Tultitlan (Real del bosque), y ahora estoy dando un curso los sábados, ahí cerquita en Cd. Labor. Tenemos que organizar algo un día de estos.
Otro abrazo.
Otro abrazo.
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Re: resaltar filas y columnas al seleccionar celda
Hola, si, jajajajajajaja, vaya que es chiquito el mundo, yo vivo en , si, a ver que dia vamos a comer y platicamos.
Saludos, Federico.
Saludos, Federico.
Última edición por fornelasa el Sab Feb 09, 2013 11:04 pm, editado 1 vez en total.
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Re: resaltar filas y columnas al seleccionar celda
Hola FORNELASA,
¿eso que utilidad tiene en la practica?
Primero que todo un saludo y gracias por interesarte en el tema.
Esto de ubicarme en una celda y que se resaltara la columna y la fila se me ocurrió porque tengo un formato de nomina bastante extenso
y al liquidar los tiempos debo colocarlos en una casilla o celda que me queda lejos de los horarios
por lo que se me cansa la vista, además, toca revisar por si hay algún error ya que existe la duda de si me salte o no de fila.
Es algo muy personal pero le podría servir a alguien que maneje formatos extensos.
Saludos!
¿eso que utilidad tiene en la practica?
Primero que todo un saludo y gracias por interesarte en el tema.
Esto de ubicarme en una celda y que se resaltara la columna y la fila se me ocurrió porque tengo un formato de nomina bastante extenso
y al liquidar los tiempos debo colocarlos en una casilla o celda que me queda lejos de los horarios
por lo que se me cansa la vista, además, toca revisar por si hay algún error ya que existe la duda de si me salte o no de fila.
Es algo muy personal pero le podría servir a alguien que maneje formatos extensos.
Saludos!
Re: resaltar filas y columnas al seleccionar celda
Mauricio,
Mil gracias por tu ayuda.
Lo único que no entiendo es que me toca mandar la hoja que publicaste a mi documento para que pueda funcionar, al crear nuevo macro y pegar el codigo no me funciona.
Pero bueno lo importante es que voy a ser mas eficiente con este macro, además, mi vista va a esta menos forzada.
De nuevo mil gracias!!
Mil gracias por tu ayuda.
Lo único que no entiendo es que me toca mandar la hoja que publicaste a mi documento para que pueda funcionar, al crear nuevo macro y pegar el codigo no me funciona.
Pero bueno lo importante es que voy a ser mas eficiente con este macro, además, mi vista va a esta menos forzada.
De nuevo mil gracias!!
Re: resaltar filas y columnas al seleccionar celda
Hola afp_sch , ok bien, gracias por la aclaración, y si, ya veo su buen uso.
Saludos, Federico.
Saludos, Federico.
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Re: resaltar filas y columnas al seleccionar celda
Fresco!
Gracias por tu atención
Saludos!
Gracias por tu atención
Saludos!
-
- Mensajes: 9
- Registrado: Vie Jul 22, 2016 4:06 pm
Re: resaltar filas y columnas al seleccionar celda
Hola buen dia, agradezco las aportaciones que hacen aquí y la verdad uno que viene de excel nos ayuda mucho, ya que queremos que funcione de la misma manera, pero cada programa tiene lo suyo, eh leido sobre esta macro y la encuentro muy interesante, solo que me gustaría que marcara solo la fila, pero no la columna, espero me puedan apoyar en esto...muchas gracias.
***Listo verifique el codigo y solo comente unas lineas...
Muchas gracias!!
***Listo verifique el codigo y solo comente unas lineas...
Código: Seleccionar todo
REM ***** BASIC *****
Option Explicit
Sub ResaltarSeleccion()
Dim oDoc As Object
Dim oControlador As Object
Dim oSel As Object
Dim oRango As Object
REM Dim oRango1 As Object
Dim oRango2 As Object
oDoc = ThisComponent
oControlador = oDoc.CurrentController
oSel = oControlador.Selection
If oSel.ImplementationName = "ScCellObj" Then
oRango = oControlador.getVisibleRange
REM oRango1 = oSel.SpreadSheet.getCellRangeByPosition( oSel.CellAddress.Column, oRango.StartRow, oSel.CellAddress.Column, oRango.EndRow+1 )
oRango2 = oSel.SpreadSheet.getCellRangeByPosition( oRango.StartColumn, oSel.CellAddress.Row, oRango.EndColumn+1, oSel.CellAddress.Row )
oRango = oSel.SpreadSheet.getCellRangeByPosition( oRango.StartColumn, oRango.StartRow, oRango.EndColumn+1, oRango.EndRow+1 )
oRango.CellStyle = "Default"
REM oRango1.CellStyle = "Resaltado"
oRango2.CellStyle = "Resaltado"
End If
End Sub
Libre office Version: 6.2.8 Windows 10 64bits
Re: resaltar filas y columnas al seleccionar celda
Muy sencillo...
Saludos
Código: Seleccionar todo
Sub ResaltarSeleccion()
Dim oDoc As Object
Dim oControlador As Object
Dim oSel As Object
Dim oRango As Object
Dim oRango1 As Object
Dim oRango2 As Object
oDoc = ThisComponent
oControlador = oDoc.CurrentController
oSel = oControlador.Selection
If oSel.ImplementationName = "ScCellObj" Then
oRango = oControlador.getVisibleRange
'oRango1 = oSel.SpreadSheet.getCellRangeByPosition( oSel.CellAddress.Column, oRango.StartRow, oSel.CellAddress.Column, oRango.EndRow+1 )
oRango2 = oSel.SpreadSheet.getCellRangeByPosition( oRango.StartColumn, oSel.CellAddress.Row, oRango.EndColumn+1, oSel.CellAddress.Row )
'oRango = oSel.SpreadSheet.getCellRangeByPosition( oRango.StartColumn, oRango.StartRow, oRango.EndColumn+2, oRango.EndRow+2 )
oRango = oSel.SpreadSheet.createCursor()
oRango.CellStyle = "Default"
'oRango1.CellStyle = "Resaltado"
oRango2.CellStyle = "Resaltado"
End If
End Sub
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
-
- Mensajes: 9
- Registrado: Vie Jul 22, 2016 4:06 pm
Re: resaltar filas y columnas al seleccionar celda
Muchas Gracias tambien lo resolvi viendo y analizando el codigo muchas gracias brother...mauricio escribió:Muy sencillo...SaludosCódigo: Seleccionar todo
Sub ResaltarSeleccion() Dim oDoc As Object Dim oControlador As Object Dim oSel As Object Dim oRango As Object Dim oRango1 As Object Dim oRango2 As Object oDoc = ThisComponent oControlador = oDoc.CurrentController oSel = oControlador.Selection If oSel.ImplementationName = "ScCellObj" Then oRango = oControlador.getVisibleRange 'oRango1 = oSel.SpreadSheet.getCellRangeByPosition( oSel.CellAddress.Column, oRango.StartRow, oSel.CellAddress.Column, oRango.EndRow+1 ) oRango2 = oSel.SpreadSheet.getCellRangeByPosition( oRango.StartColumn, oSel.CellAddress.Row, oRango.EndColumn+1, oSel.CellAddress.Row ) 'oRango = oSel.SpreadSheet.getCellRangeByPosition( oRango.StartColumn, oRango.StartRow, oRango.EndColumn+2, oRango.EndRow+2 ) oRango = oSel.SpreadSheet.createCursor() oRango.CellStyle = "Default" 'oRango1.CellStyle = "Resaltado" oRango2.CellStyle = "Resaltado" End If End Sub
Libre office Version: 6.2.8 Windows 10 64bits