Me dá Error 1004 en propiedad LineStyle

Tengo un libro de excel con un formulario que me permite crear una hoja, despues de haber rellenado una serie de textbox, y me los pasa a distintas filas de la hoja creada. Todo funciona bien si se crean más de una fila, pero si intento crear una hoja de una sola fila me dá error 1004 en tiempo de ejecución "No se puede asignar la propiedad LineStyle de la clase Border".

Mi macro es:

Sub Lineas()
'
' Macro Lineas Macro
' Macro grabada el 08/03/2015 por Raul
'
' Macro que traza las líneas finales de la hoja
Dim filaFinal As Byte

If Range("A4") <> "" Then
Range("A3").Select
Range("A3", Range("A3").End(xlDown)).Select
filaFinal = Selection.Cells(Selection.Cells.Rows.Count, 1).Row
Else
filaFinal = 3
End If

Range("A3").Select
Range(Selection, Selection.End(xlDown)).Select
ActiveCell.Range("A1" & ":H" & filaFinal - 2).Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
'Aquí dá el error
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
'.TintAndShade = 0
.Weight = xlThin
End With
'Pone la palabra TOTAL en la columna F
Range("f" & filaFinal + 1).Select
ActiveCell.Value = "TOTAL"
Selection.Font.Bold = True
With Selection
.HorizontalAlignment = xlRight
.VerticalAlignment = xlBottom
End With
With Selection.Font
.Name = "Arial"
.Size = 14
.ColorIndex = xlAutomatic
End With
' Pone la formula de la SUMA
Range("G" & filaFinal + 1).Select
Range("G" & filaFinal + 1).Formula = "=SUM(G3:G" & filaFinal & ")"
copiahoja
End Sub

Si necesitan que les mande el libro me lo dicen.

Si pueden indicarme a que es debido el error se lo agradecería.

2 respuestas

Respuesta
2

Creo que no eres al primero, ni creo seas el último en recibir este error.

Mirate este enlace que creo te ayudará:

https://support.microsoft.com/es-es/kb/277577 

Ya me contarás si lo pudiste resolver. Saludos >> Jacinto

Respuesta
1

Como bien dice el artículo indicado por Jacinto, el problema se presenta solo en algunas versiones (en las mías no sucede por lo que no hubiese sabido encontrar el problema de no haber leído el artículo ;)

Entonces no retires las instrucciones (puede servirte en otro Excel), solo colocale un control de error al inicio de ese bloque:

On Error Resume Next

With Selection.Borders(xlInsideHorizontal)

'y aquí siguen tus instrucciones

Nota: otro detalle que observé aunque no te dará error porque luego la selección se realiza hasta la variable filaFinal. Pero retira las 2 líneas que marco en negrita, solo confunden:

Range("A3").Select
Range(Selection, Selection.End(xlDown)).Select
ActiveCell.Range("A1" & ":H" & filaFinal - 2).Select

Sdos.

Elsa

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas