Olha, eu já passei por um problema parecido uma vez, mas o seu código, aparentemente não contém o mesmo erro que eu cometi. No meu caso, eu obtive esta mensagem de erro porque eu estava tentando atribuir o estilo de linha xlInsideHorizontal para uma célula única. A propriedade xlInsideHorizontal, serve para formatar as linhas que ficam no interior da seleção, então pra ela funcionar, a seleção deveria ter pelo menos duas células. Exemplo: [ERRO] - Range("A1").Borders(xlInsideHorizontal).LineStyle = xlContinuous [OK] - Range("A1:A2").Borders(xlInsideHorizontal).LineStyle = xlContinuous Bom... Voltando ao seu código, consegui executá-lo sem problemas na minha máquina. (lógico que eu tive que colocar os parâmetros corretamente) Mas todos nós sabemos que o excel é repleto de erros e falhas, e que estas falhas podem ser provenientes de conflitos no próprio código, então sugiro que tente detectar no seu código, algumas partes que possam ser melhoradas, mesmo que não tenham nenhuma ligação com esta função de formatar as bordas. Tente testar apenas o código que você postou aqui em uma pasta de trabalho em branco e veja se funciona normalmente. Observações *Use uma função pública, e não privada. *Onde estão os parâmetros da sua função? Fiz algumas melhorias on seu código, assim ele fica mais claro e menos repetitivo. Abaixo vai o código incluindo a função e um Sub Procedimento "Exemplo" que chama a função: Sub Exemplo() Call borda_Espessa("Pasta1", "Plan1", "B2:C4") End Sub Public Function borda_Espessa(nome_arquivo As String, planilha As String, celulas As String) Dim aux As Range Set aux = Workbooks(nome_arquivo).Worksheets(planilha).Range(celulas) aux.Borders(xlEdgeLeft).LineStyle = xlContinuous aux.Borders(xlEdgeLeft).Weight = xlThick aux.Borders(xlEdgeTop).LineStyle = xlContinuous aux.Borders(xlEdgeTop).Weight = xlThick aux.Borders(xlEdgeBottom).LineStyle = xlContinuous aux.Borders(xlEdgeBottom).Weight = xlThick aux.Borders(xlEdgeRight).LineStyle = xlContinuous aux.Borders(xlEdgeRight).Weight = xlThick End Function