Pergunta:
"Eu tinha conseguido contar o número de caracteres de uma planilha com uma formula, mas acabei esquecendo como se faz.
Alguém têm alguma ideia?"
Resposta:
Importante:
Considerando que números e letras podem se enquadrar como caracteres:
Se for na região ativa da planilha (a que achamos por Ctrl+End) são as opções da esquerda (verde e azul). Trocando o que está em negrito, por vermelho e laranja, vc deve selecionar a área desejada antes de rodar a macro. Portanto são 4 macros.
---número e texto---
Sub CONTAGERAL()CONTAAREA()
Dim REG As Variant
Dim SOMA As Variant
SOMA = 0
For Each REG In ActiveSheet.UsedRangeSelection
SOMA = SOMA + Len(REG)
Next REG
MsgBox SOMA & " caracteres"
End Sub
_____________________________________________________
---somente texto---
Sub CONTAGERALTEXTO() CONTAAREATEXTO()
Dim REG As Variant
Dim SOMA As Variant
SOMA = 0
For Each REG In ActiveSheet.UsedRangeSelection
If Not IsNumeric(REG) Then
SOMA = SOMA + Len(REG)
Else
SOMA = SOMA + 0
End If
Next REG
MsgBox SOMA & " caracteres"
End Sub
______________________________________________________
Abs,
Obs.:
1 - Cara, sou meio mongo em VBA. Por isso tentei fazer. Aparentemente funciona mas fica aqui o espaço aberto pra quem puder melhorar ou te ajudar mais, ou seja, aos que realmente entendem do riscado. Minha praia no excel é outra.
2 - Repare no seguinte: digite 40543 em qualquer célula. Selecione esta célula e coloque pra rodar a macro CONTAAREATEXTO(). Ele vai dar ZERO. Blz. Se vc formata como data, a célula vira 31/12/2010 e a mesma macro registra 10 CARACTERES. Portanto, se vc se deparar com datas verifique o formato antes de rodar. Não me aprofundei mais...
Autor: Mandrix
Eron
CRA/RS 27.563
Administrador Fórum Planilhando
Postado : 03/02/2011 4:15 pm