Notifications
Clear all

Formatar Célula VBA

9 Posts
1 Usuários
0 Reactions
4,937 Visualizações
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Ola Colegas do Forum td bem ?

Gostaria de saber como se chamam as funções de formação de celula no vba?
Exemplo:
No Excel ( No VBA )Geral
Geral ( Val )Geral
Número
Fração
Moeda ( Ccur )Geral
Contabil
Data
Hora
Porcentagem
Cientifico
Texto

Eu sei apenas 2 comando como eu faço para saber os outros, o que eu estou no momento precisando mais e porcentagem.

 
Postado : 18/11/2011 11:04 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 


Não sei se é apenas isto que você quer...

Para formatação da célula com Porcentagem pode utilizar:

Range("A1").NumberFormat = "0.00%"

ou

Range("B1") = Format(Range("C1"), "0.00%")

 
Postado : 18/11/2011 12:11 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

oK Edson Obrigada pela ajuda

Mais como formato pelo Vb em modo de Fração?

 
Postado : 21/11/2011 2:03 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Range("A1").NumberFormat = "# ?/?"
Range("A2").NumberFormat = "# ??/??"
Range("A3").NumberFormat = "# ???/???"

1º caso - frações com até 1 dígito
2º caso - frações com até 2 dígitos
3º caso - frações com até 3 dígitos

Supondo que o valor das três células fosse 0,1685; retornariam respectivamente 1/6, 15/89 e 46/273 ....

 
Postado : 21/11/2011 2:16 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Oi Alexandre.
Valeu pela ajuda, mais preciso de outra é o seguinte, tenho um formulario e nele eu coloco o valor por exemplo "0,1685" qdo eu coloco enviar ele manda para o excel, eu fazendo da forma que vc me explicou apenas o formato da celula do excel muda, e o que eu enviei pelo vba vai como numero e não aparece como fração no excel e sim como numero. como faço para do formulario enviar para o excel e aparecer como numero?

 
Postado : 22/11/2011 4:54 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

desculpe errei a ultima palavra,

aparecer como fração não como numero.

 
Postado : 22/11/2011 4:55 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Você quer que o valor da célula fique, por exemplo, 15/89 ao invés de 0,1685?

Tem duas maneiras, você criar uma função em VBA para converter ... ou usar um jeitinho, tipo abaixo, para usar o próprio Excel:

Repasse o valor para a célula desejada .... por exemplo, o valor 0,1685... e o código abaixo, transforma em 15/89 ...

    Dim Valor As String
    Dim Celula As Range
    
    Set Celula = Range("B5")
    Celula.NumberFormat = "# ??/??"
    Valor = Celula.Text
    Celula.NumberFormat = "@"
    Celula.Value = Trim(Valor)
 
Postado : 22/11/2011 6:48 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Se ao invez de digitar no Textbox o valor com "virgula" - 0,1685, digitar com "ponto" - 0.1685, a rotina abaixo jogará para a planilha o valor formatado.

Private Sub CommandButton2_Click()

    Dim Celula As Range
   
    Set Celula = Range("B5")
    
    Celula.NumberFormat = "# ??/??"
    Celula = TextBox1.Value
    
End Sub

[]s

 
Postado : 22/11/2011 7:26 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Obrigada pela ajuda colegas, realmente era isto mesmo que eu estava precisando.

Abraços

 
Postado : 23/11/2011 10:42 am