Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
13-01-21 01:33 AM
Hola estimados !
Les vengo a pedir ayuda con un problema reciente que tuve con una acción de la librería de excel.
Lo que pasa, es que necesito usar la acción "Set Border Cell". Cabe mencionar que al ejecutar en una sola celda (ej: "C2") funciona excelente, pero al darle un rango (ej: "C2:C12") funciona, pero celda por celda.
Me ayudo con imágenes para esadxplicar mejor:
Esperado:

Lo que obtengo:
Cómo puedo modificar el código para poder obtener solo los border, y que no me rellene cada celda con bordes ?
Muchas Gracias !
Les vengo a pedir ayuda con un problema reciente que tuve con una acción de la librería de excel.
Lo que pasa, es que necesito usar la acción "Set Border Cell". Cabe mencionar que al ejecutar en una sola celda (ej: "C2") funciona excelente, pero al darle un rango (ej: "C2:C12") funciona, pero celda por celda.
Me ayudo con imágenes para esadxplicar mejor:
Esperado:
Lo que obtengo:
Cómo puedo modificar el código para poder obtener solo los border, y que no me rellene cada celda con bordes ?
Muchas Gracias !
Answered! Go to Answer.
1 BEST ANSWER
Helpful Answers
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
13-01-21 01:40 PM
SI en tu versión no tienes un método Set Border Range Cell, puedes incorporarlo a la librería VBO BPA Object - MS Excel basándote en código VBA generado por una macro. La idea es que hagas crecer tus librerías. Puedes crear una macro automática y luego tomarlo como base para crear el método nuevo en la librería:
Range("C414:E426").Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
Range("C414:E426").Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
4 REPLIES 4
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
13-01-21 01:30 PM
Set Border Cell solo aplica para celda, no para rango de celdas...¿Qué versión de BluePrism tienes instalada?
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
13-01-21 01:40 PM
SI en tu versión no tienes un método Set Border Range Cell, puedes incorporarlo a la librería VBO BPA Object - MS Excel basándote en código VBA generado por una macro. La idea es que hagas crecer tus librerías. Puedes crear una macro automática y luego tomarlo como base para crear el método nuevo en la librería:
Range("C414:E426").Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
Range("C414:E426").Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
13-01-21 02:15 PM
@Marcello Solari
Tengo la versión 6.6, y este es el código que está en la librería:
GetWorkbook(handle,Nothing).ActiveSheet.Range(cellref,cellref). _
Borders.LineStyle = linestyle
GetWorkbook(handle,Nothing).ActiveSheet.Range(cellref,cellref). _
Borders.Weight = weight
GetWorkbook(handle,Nothing).ActiveSheet.Range(cellref,cellref). _
Borders.ColorIndex = color
Tengo la versión 6.6, y este es el código que está en la librería:
GetWorkbook(handle,Nothing).ActiveSheet.Range(cellref,cellref). _
Borders.LineStyle = linestyle
GetWorkbook(handle,Nothing).ActiveSheet.Range(cellref,cellref). _
Borders.Weight = weight
GetWorkbook(handle,Nothing).ActiveSheet.Range(cellref,cellref). _
Borders.ColorIndex = color
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
13-01-21 03:57 PM
En efecto, en la instrucción se está indicando la inserción de líneas (todas) en la parte de arriba, abajo, a la izquierda y a la derecha en todas las celdas del rango. Debes crear un nuevo método en la que las líneas solo estén en los bordes y no en las celdas interiores del bloque. Esto es sencillo de hacer y básate en el código de la macro que te envié para aplicar. Recuerda no modificar el método existente, crea uno nuevo basándote en ese y aplicas los cambios.
