Tag Archives: Erros

VBA – Retornando erros do Excel em Funções personalizadas


Aproveitando o gancho do post anterior, deixo mais uma dica para funções personalizadas no Excel.

Quando você criar suas funções personalizadas no Excel, como qualquer função que se cria, uma situação possível são os erros que podem acontecer. Dá para tratar sem muito segredo, retornando uma mensagem de erro, MsgBox ou coisa parecida. Mas em alguns casos, o ideal mesmo seria retornar um erro do próprio Excel, por exemplo, #N/D ou não disponível. Além de ser a coisa “certa” a fazer, o usuário pode usar as fórmulas do Excel para validação e verificação como ÉERROS ou É.NÃO.DISP, entre outras.

Para retornar o erro, é preciso usar a função CVErr e uma das constantes de erro no Excel. A função CVErr retorna um tipo Variant de subtipo Error que contém um número de erro especificado pelo usuário. Meio complicado, mas o uso é simples:

Function RetornaErro()
	RetornaErro = CVErr(2007)
End Function

Criando essa função no VBA, bastar colocar em uma célular a fórmula =RetornaErro() e ver o resultado. No caso, o erro demonstrado é o #DIV/0, erro de divisão por zero, pois o código se refere a ele. Abaixo segue uma tabela com todos os códigos de erro de função do Microsoft Excel:

  • xlErrDiv0 – Número do erro: 2007 – Erro de divsão por zero
  • xlErrNA – Número do erro: 2042 – Erro valor Não Disponível
  • xlErrName – Número do erro: 2029 – Erro valor Nome Inválido
  • xlErrNull – Número do erro: 2000 – Erro valor Valor Nulo
  • xlErrNum – Número do erro: 2036 – Erro valor Número Inválido
  • xlErrRef – Número do erro: 2023 – Erro valor Referência Inválida
  • xlErrValue – Número do erro: 2015 – Erro valor Valor Inválido

Há muitos outros códigos de erro, mas para o contexto do Excel, precisamos nos manter a estes. Abaixo mais um exemplo:

Function CalculaDolar(ByVal Valor As Double)
	'... cálculo
	If Not IsNumeric(Valor) Then
		CalculaDolar = CVErr(xlErrNum)
	End If
End Function

Em resumo, se o valor informado no parâmetro não for numérico, é retornado o erro. Dessa forma, as funções ficam bem mais profissionais, não?

Bom proveito!




Desenvolvimento – Os 25 erros mais graves (e comuns) de programação

O SAS Intitute publicou uma lista dos 25 erros de programação mais graves. Desenvolvedores, arquitetos e testadores têm que conhecer “décor”. Em alguns deles, as plataformas de desenvolvimento nos apóiam (ou dificultam) a ocorrência desses erros. Para outros temos que tomar cuidado. Leitura obrigatória para quem tem contato com desenvolvimento:

link: http://www.sans.org/top25errors/

A página dá uma boa explicação dos porquês da importância do elencamento destes erros, o que isso traz de vantagens para as empresas de software e consumidores. O elencamento contou com a participação de várias empresas do ramo, da Symantec a Microsoft.

Os erros foram dividos em 3 categorias:

Sinceramento, é mais justo categorizar estes erros como os mais comuns. Claro que este fato os tornam mais graves, pois na tentativa de qualquer invasão a um sistema, estes serão os primeiros a serem atacados. De qualquer forma é um “puxão de orelha” na maioria dos programadores.

Dica dada pela Revista Mundo .NET